data1: [
{
appName: '应用1',
capacity: 233456
},
{
title: '应用2',
key: 124535
}
],
data2: [
{
name: '应用1',
value: 233456
},
{
name: '应用2',
value: 124535
}
]
说明:
data1是后台响应的数据。data2是要格式化的数据。
data1和data2的数据格式一样,只是key不一样。
问题:
如何写一个方法第一个参数是原数据(data1),第二个参数是一个数组是保存key。返回data2
什么语言啊
js
convertKey (arr, key) {
let newArr = [];
arr.forEach((item, index) => {
let newObj = {};
for (var i = 0; i < key.length; i++) {
newObj[key[i]] = item[Object.keys(item)[i]]
}
newArr.push(newObj);
})
console.log(newArr)
return newArr;
}
let data2 = convertKey(data1, ['name', 'value']);
搞定了
var data1 = [ { appName: '应用1', capacity: 233456 }, { title: '应用2', key: 124535 } ] var test = []; var index =0; $.each(data1, function (i) { $.each(data1[i], function (l,j) { var value = data1[i][j]; var key = j; var ss = {}; console.log(index) ss[key] = value; test.push(ss); index++ }) }); console.log(test)
有图有真相,想怎么拼就怎么拼
我发现data1写错了。应该是这样。
data1: [
{
appName: '应用1',
capacity: 233456
},
{
appName: '应用2',
capacity: 124535
}
]
不过还是谢谢你
@拉风的人儿: 那就更简单了,你能看明白吧,我写的方法
@DanBrown: 嗯,我自己搞定了,谢谢。