我有一個這種格式的陣列:
var arr = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}]
我想要的是用 null 替換每個 id 值。我的第一個想法是構建一個帶有 for 回圈的正則運算式 im 組合。但是有沒有更有效的方法來做到這一點?
uj5u.com熱心網友回復:
見地圖方法。
const source = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}];
const destination = source.map((el) => ({ ...el, id: null }));
// For demo purpose
console.log(destination);
uj5u.com熱心網友回復:
var arr = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}]
arr.forEach(item => {
Object.keys(item).forEach(function(key) {
if(key ==='id') {
item[key] = null;
}
});
})
console.log(arr)
uj5u.com熱心網友回復:
通讀檔案:
RegExp 物件用于將文本與模式匹配。
在這里,使用正則運算式會非常低效,因為您使用的是物件
有多種方法可以做你想做的事:
您可以使用for i回圈遍歷您的專案
const arr = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}]
for (let i=0; i<arr.length;i ){
arr[i].id = null
}
console.log(arr)
或者使用陣列上的Array#forEach方法:
const arr = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}]
arr.forEach(item => {
item.id = null
})
console.log(arr)
您也可以使用Array#Map
const arr = [{id: 1, age: 25, money: 2500},{id: 10, age: 10, money: 100},{id: 115, age: 80, money: 1350}]
const arrWithoutIds = arr.map(item => {
item.id = null
return item
})
console.log(arrWithoutIds)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/478726.html
標籤:javascript
