我想从 JSON 数组中删除那些未在另一个数组中列出的对象。
let originalArray = [{
id: 1,
NoOfEmp: 12,
Wages:1000,
TotalSI: 21,
Salary:3000
}, {
id: 2,
NoOfEmp: 13,
Wages:2000,
TotalSI: 22,
Salary:4000
}]
let keepArrayObjects = ['id','NoOfEmp','Wages']
originalArray = originalArray.filter( function( el ) {
return keepArrayObjects.indexOf( el ) > 0;
} );
console.log(originalArray);
我已尝试使用上面的代码来删除对象“TotalSI”、“Salary”并保留 keepArrayObjects 数组中列出的对象,但它不起作用。
我想更新原始数组本身,请帮助我。
最佳答案
您可以映射想要的条目并获取新对象。
let array = [{ id: 1, NoOfEmp: 12, Wages: 1000, TotalSI: 21, Salary: 3000 }, { id: 2, NoOfEmp: 13, Wages: 2000, TotalSI: 22, Salary: 4000 }],
keys = ['id', 'NoOfEmp', 'Wages'],
result = array.map(o => Object.fromEntries(keys.map(k => [k, o[k]])));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
IE兼容版本
var array = [{ id: 1, NoOfEmp: 12, Wages: 1000, TotalSI: 21, Salary: 3000 }, { id: 2, NoOfEmp: 13, Wages: 2000, TotalSI: 22, Salary: 4000 }],
keys = ['id', 'NoOfEmp', 'Wages'],
result = array.map(function (source) {
return keys.reduce(function (target, k) {
target[k] = source[k];
return target;
}, {});
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 使用 Typescript 从数组 json 中删除未在另一个数组中列出的对象(项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64953870/