javascript - 關(guān)于數(shù)組的循環(huán)遍歷問(wèn)題
問(wèn)題描述
[{ id: ’1’, name: ’小王’, desc: ’小王描述’}, { id: ’2’, name: ’小強(qiáng)’, desc: ’小強(qiáng)描述’}, { id: ’6’, name: ’小紅’, desc: ’小紅描述’}, { id: ’9’, name: ’小東’, desc: ’小東描述’}]
這是后臺(tái)傳回來(lái)的數(shù)據(jù),怎么才能用for循環(huán)把里面的id變成數(shù)字呀?不懂怎么寫,好尷尬
問(wèn)題解答
回答1:關(guān)鍵點(diǎn)是把字符串轉(zhuǎn)成數(shù)值吧,parseInt或者Number都可以轉(zhuǎn)。或者說(shuō)直接讓后臺(tái)傳數(shù)值類型。疑問(wèn):這是從后端獲取的數(shù)據(jù),一般都是要渲染到頁(yè)面上的,為什么還要轉(zhuǎn)成數(shù)值呢?
回答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;});
不過(guò)因?yàn)閷?duì)象引用類型, 其實(shí)原數(shù)組arr里的id也為數(shù)值了
回答5:使用parseInt直接轉(zhuǎn)就ok了吧
回答6:先說(shuō)思路:1、首先遍歷數(shù)組2、遍歷對(duì)象3、增加屬性鍵值對(duì),刪除舊的鍵值對(duì)
下面代碼:
var jsonData = [{ id: ’1’, name: ’小王’, desc: ’小王描述’}, { id: ’2’, name: ’小強(qiáng)’, desc: ’小強(qiáng)描述’}, { 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];} }}
相關(guān)文章:
1. mysql - 這條聯(lián)合sql語(yǔ)句哪里錯(cuò)了2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)4. java - Atom中文問(wèn)題5. java - MySQL中,使用聚合函數(shù)+for update會(huì)鎖表嗎?6. css3 - 這個(gè)形狀使用CSS怎么寫出來(lái)?7. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果8. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?9. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出10. java - C語(yǔ)言算法題-韓信點(diǎn)兵 求解?
