var originalArray = [
{Name: "IPHONE8s", Id: 4},
{Name: "Iphone 9", Id: 5},
{Name: "IPHONEX", Id: 6}
];
如何将其更改为这样的
var changeArray = [
{text: "IPHONE8s", value: 4 },
{text: "Iphone 9", value: 5 },
{text: "IPHONEX", value: 6 }
]
非常感谢您。
答案 0 :(得分:3)
使用 Array.map()
var originalArray = [
{Name: "IPHONE8s", Id: 4},
{Name: "Iphone 9", Id: 5},
{Name: "IPHONEX", Id: 6}
];
var changeArray = originalArray.map(data => ({text: data.Name, value: data.Id}))
console.log(changeArray);
答案 1 :(得分:1)
您可以将.map()
用于对象分解:
let data = [
{Name: "IPHONE8s", Id: 4},
{Name: "Iphone 9", Id: 5},
{Name: "IPHONEX", Id: 6}
];
let result = data.map(({Name:text, Id:value}) => ({text, value}));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
参考:
答案 2 :(得分:0)
示例代码
function renameKeys(obj, newKeys) {
const keyValues = Object.keys(obj).map(key => {
const newKey = newKeys[key] || key;
return { [newKey]: obj[key] };
});
return Object.assign({}, ...keyValues);
}
并像这样使用它:
const obj = { a: "1", b: "2" };
const newKeys = { a: "A", c: "C" };
const renamedObj = renameKeys(obj, newKeys);
console.log(renamedObj)
答案 3 :(得分:0)
您可以通过将键值对与新名称映射来映射对象,方法是使用一个对象作为键及其替换用的新名称。
此提案保留其他属性。
var array = [{ Name: "IPHONE8s", Id: 4, foo: 'bar' }, { Name: "Iphone 9", Id: 5 }, { Name: "IPHONEX", Id: 6 }],
replace = { Name: 'text', Id: 'value' },
result = array.map(o => Object.assign(...Object
.entries(o)
.map(([k, v]) => ({ [replace[k] || k]: v }))
));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 4 :(得分:0)
var originalArray = [{Name: "IPHONE8s", Id: 4}, {Name: "Iphone 9", Id: 5}, {Name:
"IPHONEX", Id: 6} ];
let changeArray = []
for (let i = 0; i < originalArray.length; i++) {
let tmpObj = {}
tmpObj.text = originalArray[i].Name
tmpObj.value = '' + originalArray[i].Id
changeArray.push(tmpObj)
}
console.log(changeArray)