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. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)2. 微信小程序可以用gulp,webpack嗎?3. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。4. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?5. ueditor上傳服務器提示后端配置項沒有正常加載,求助!!!!!6. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)7. tp5 不同控制器中的變量調用問題8. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!9. php7.3.4中怎么開啟pdo驅動10. 老師 我是一個沒有學過php語言的準畢業生 我希望您能幫我一下
