javascript – Probleme beim Schleifendurchlauf von Arrays
给我你的怀抱
给我你的怀抱 2017-06-26 10:55:17
0
6
834
[{
    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

给我你的怀抱
给我你的怀抱

Antworte allen(6)
过去多啦不再A梦

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

Peter_Zhu

这样

function change(items){
    items= items|| [];
    for( var i = 0,item; item = items[i++]; ){
        item.id *= 1;
    }
    return items;
}

var result = change(/*你需要弄的*/);
刘奇
//方法一
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}})
代言
var result = arr.map(item => {item.id = parseInt(item.id); return item;});

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

迷茫

使用parseInt直接转就ok了吧

学习ing

先说思路:
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];
                }
            }
        }
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage