JS如何修改數(shù)組對象的Key和指定的值
js修改數(shù)組對象的Key和指定的值
1,修改數(shù)組對象的Key
/**/ var Arrydata = [{name:'Lily',age:18},{name:'BKqq',age:22}] //舊key到新key的映射 var keyMap = { // id: "value", name: "label", age: "value" }; for (var i = 0; i < Arrydata.length; i++) { var obj = Arrydata[i]; for (var key in obj) { var newKey = keyMap[key]; if (newKey) { obj[newKey] = obj[key]; delete obj[key]; } } } console.log(Arrydata,'修改后數(shù)組對象---')
2,修改數(shù)組對象中指定的值
var stooges = [ {label:1,value:1,placeCode: 'sh', stock_code: 40}, {label:1,value:1,placeCode: 'sh', stock_code: 50}, {label:1,value:1,placeCode: 'sz', stock_code: 60,status:1}, {label:1,value:1,placeCode: 'sz', stock_code: 39,status:1} ]; for(var i=0;i<stooges.length;i++){ stooges[i].placeCode === 'sh'?stooges[i].placeCode = '滬': stooges[i].placeCode = '深' } console.log(stooges,'值修改后數(shù)組對象---')
js修改對象數(shù)組的key值
實例:將dataOld這個對象數(shù)組的對象中的屬性key變成dataNew中的形式;
//原數(shù)據(jù) dataOld: [{ count: '33', area: '122.2', districtId: 43000 }, { count: '44', area: '168.2', districtId: 43001 }] //接口需要的數(shù)據(jù) dataNew: [{ countAll: '33', countArea: '122.2', districtId: 43000 }, { count: '44', area: '168.2', districtId: 43001 }]
方法一:使用map循環(huán),在map循環(huán)內(nèi)創(chuàng)建一個新對象,將item要改變的key賦給新創(chuàng)建的對象里面新key值,然后push給一個新創(chuàng)建的數(shù)組dataNew即可;
let dataNew = []; //新數(shù)組 dataOld.map(item => { let obj = { countAll: item.count, countArea: item.area, districtId: item.districtId, } dataNew.push(obj); });
方法二:使用map循環(huán) + replace替換,通過循環(huán)然后將子類JSON.stringify后采用replace來改變屬性key;
let dataNew = []; //新數(shù)組 dataOld.map(item => { let _item = JSON.parse(JSON.stringify(item).replace('count', 'countAll').replace('area', 'countArea')); dataNew.push(_item) });
方法三:使用forEach循環(huán) + for循環(huán),通過Object.keys()來改變屬性key;
convertKey (arr, key) { let dataNew = []; //新數(shù)組 this.dataOld.forEach((item, index) => { let obj = {}; //新數(shù)組里的新對象 for (var i = 0; i < key.length; i++) { obj[key[i]] = item[Object.keys(item)[i]]; //key值替換 } dataNew.push(obj); }) console.log(dataNew,'dataNew'); return dataNew; }, // 改變后的key let dataNew = this.convertKey(this.dataOld, ['countAll', 'countArea', 'districtId']);
結(jié)果:
到此這篇關(guān)于js修改數(shù)組對象的Key和指定的值的文章就介紹到這了,更多相關(guān)js修改數(shù)組對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ajax跨域調(diào)用webservice的實現(xiàn)代碼
這篇文章主要介紹了 ajax跨域調(diào)用webservice服務(wù)例子和理解,最近ajax訪問webservice遇到跨域的問題,網(wǎng)上搜索資料,總結(jié)如下2016-05-05javascript提取URL的搜索字符串中的參數(shù)(自定義函數(shù)實現(xiàn))
我們經(jīng)常會看到有的頁面鏈接地址后面會跟有參數(shù),很多時候我們需要獲得這些參數(shù)的值,接下來將介紹獲取方法,感興趣的朋友可以了解系,希望本文對你有所幫助2013-01-01基于Web標(biāo)準(zhǔn)的UI組件 — 樹狀菜單(2)
基于Web標(biāo)準(zhǔn)的UI組件 — 樹狀菜單(2)...2006-09-09Navigator?sendBeacon頁面關(guān)閉也能發(fā)送請求方法示例
這篇文章主要為大家介紹了Navigator?sendBeacon頁面關(guān)閉也能發(fā)送請求的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06教學(xué)演示-UBB,剪貼板,textRange及其他
[紅色]教學(xué)演示-UBB,剪貼板,textRange及其他...2006-11-11使用layui實現(xiàn)樹形結(jié)構(gòu)的方法
今天小編就為大家分享一篇使用layui實現(xiàn)樹形結(jié)構(gòu)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09