搜尋

首頁  >  問答  >  主體

javascript - 關於陣列的循環遍歷問題

[{
    id: '1',
    name: '小王',
    desc: '小王描述'
}, {
    id: '2',
    name: '小强',
    desc: '小强描述'
}, {
    id: '6',
    name: '小红',
    desc: '小红描述'
}, {
    id: '9',
    name: '小东',
    desc: '小东描述'
}]

這是後台傳回來的數據,怎麼能用for循環把裡面的id變成數字呀?不懂怎麼寫,好尷尬

给我你的怀抱给我你的怀抱2793 天前852

全部回覆(6)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-26 10:57:17

    關鍵點是把字串轉成數值吧,parseIntNumber都可以轉。或者說直接讓後台傳數值類型。疑問:這是從後端取得的數據,一般都是要渲染到頁面上的,為什麼還要轉成數值呢?

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-26 10:57:17

    這樣

    function change(items){
        items= items|| [];
        for( var i = 0,item; item = items[i++]; ){
            item.id *= 1;
        }
        return items;
    }
    
    var result = change(/*你需要弄的*/);

    回覆
    0
  • 怪我咯

    怪我咯2017-06-26 10:57:17

    雷雷

    回覆
    0
  • 代言

    代言2017-06-26 10:57:17

    var result = arr.map(item => {item.id = parseInt(item.id); return item;});

    不過因為物件引用型別, 其實原數組arr裡的id也為數值了

    回覆
    0
  • 迷茫

    迷茫2017-06-26 10:57:17

    使用parseInt直接轉就ok了吧

    回覆
    0
  • 学习ing

    学习ing2017-06-26 10:57:17

    先說思路:
    1、先遍歷數組
    2、遍歷對象
    3、增加屬性鍵值對,刪除舊的鍵值對

    下面程式碼:

            var jsonData = [{
                id: '1',
                name: '小王',
                desc: '小王描述'
            }, {
                id: '2',
                name: '小强',
                desc: '小强描述'
            }, {
                id: '6',
                name: '小红',
                desc: '小红描述'
            }, {
                id: '9',
                name: '小东',
                desc: '小东描述'
            }];
            var i = 0;
            for (; i < jsonData.length; i++) {
                for (var name in jsonData[i]) {
                    if (name === 'id') {
                        jsonData[i][i] = jsonData[i][name];
                        delete jsonData[i][name];
                    }
                }
            }

    回覆
    0
  • 取消回覆