[英]How to change key for array's objects' in javascript?
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 }
]
非常感謝你。
使用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);
您可以將.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; }
參考文獻:
范例程式碼
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)
您可以通過將鍵值對與新名稱映射來映射對象,方法是使用一個對象作為鍵及其新名稱以進行替換。
該建議保留其他屬性。
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; }
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.