suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Probleme beim Schleifendurchlauf von Arrays

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

Das sind die vom Hintergrund zurückgesendeten Daten. Wie kann ich sie mit for循环把里面的id in Zahlen umwandeln? Ich weiß nicht, wie ich es schreiben soll, so peinlich

给我你的怀抱给我你的怀抱2710 Tage vor824

Antworte allen(6)Ich werde antworten

  • 过去多啦不再A梦

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

    关键点是把字符串转成数值吧,parseInt或者Number都可以转。或者说直接让后台传数值类型。疑问:这是从后端获取的数据,一般都是要渲染到页面上的,为什么还要转成数值呢?

    Antwort
    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(/*你需要弄的*/);

    Antwort
    0
  • 怪我咯

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

    //方法一
    for(var i=0,len=arr.length;i<len;i++){
    arr[i].id=parseInt(arr[i].id)
    }
    //方法二
    arr.map(function(item){return {desc:item.desc,id:parseInt(item.id),name:item.name}})
    //es6写法
    arr.map(item=>{{desc:item.desc,id:parseInt(item.id),name:item.name}})
    

    Antwort
    0
  • 代言

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

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

    不过因为对象引用类型, 其实原数组arr里的id也为数值了

    Antwort
    0
  • 迷茫

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

    使用parseInt直接转就ok了吧

    Antwort
    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];
                    }
                }
            }

    Antwort
    0
  • StornierenAntwort