javascript - 关于数组的循环遍历问题
问题描述
[{ id: ’1’, name: ’小王’, desc: ’小王描述’}, { id: ’2’, name: ’小强’, desc: ’小强描述’}, { id: ’6’, name: ’小红’, desc: ’小红描述’}, { id: ’9’, name: ’小东’, desc: ’小东描述’}]
这是后台传回来的数据,怎么才能用for循环把里面的id变成数字呀?不懂怎么写,好尴尬
问题解答
回答1:关键点是把字符串转成数值吧,parseInt或者Number都可以转。或者说直接让后台传数值类型。疑问:这是从后端获取的数据,一般都是要渲染到页面上的,为什么还要转成数值呢?
回答2:这样
function change(items){ items= items|| []; for( var i = 0,item; item = items[i++]; ){item.id *= 1; } return items;}var result = change(/*你需要弄的*/);回答3:
//方法一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}})回答4:
var result = arr.map(item => {item.id = parseInt(item.id); return item;});
不过因为对象引用类型, 其实原数组arr里的id也为数值了
回答5:使用parseInt直接转就ok了吧
回答6:先说思路: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];} }}
相关文章:
1. java - mybatis怎么实现在数据库中有就修改,没有就添加2. MYSQL新建用户设置可以远程访问的问题3. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题4. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)5. angular.js - angularjs的自定义过滤器如何给文字加颜色?6. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!7. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?8. mysql - SQL操作时间的函数?9. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么10. mysql 为何insert的时候会有lock wait timeout 异常
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)