我将问一下如何使用lodash删除对象数组中的一些元素。
var fruits = [
{ id: 1, name: 'Apple', price: 55, qty: 3, status: 'ripe' },
{ id: 2, name: 'Banana', price: 55, qty: 4, status: 'ripe' },
{ id: 3, name: 'Pineaple', price: 55, qty: 2, status: 'ripe' }
];
如何删除所有对象数组中的数量和状态,使其看起来像这样
[
{ id: 1, name: 'Apple', price: 55 },
{ id: 2, name: 'Banana', price: 55 },
{ id: 3, name: 'Pineaple', price: 55 }
]
答案 0 :(得分:1)
没有任何库,您可以使用map
并对对象进行解构。
var fruits = [{"id":1,"name":"Apple","price":55,"qty":3,"status":"ripe"},{"id":2,"name":"Banana","price":55,"qty":4,"status":"ripe"},{"id":3,"name":"Pineaple","price":55,"qty":2,"status":"ripe"}]
var result = fruits.map(({qty,status,...r}) => r);
console.log(result);
答案 1 :(得分:1)
您也可以不使用图书馆。
var fruits = [{ id: 1, name: 'Apple', price: 55, qty: 3, status: 'ripe' },{ id: 2, name: 'Banana', price: 55, qty: 4, status: 'ripe' },{ id: 3, name: 'Pineaple', price: 55, qty: 2, status: 'ripe' }];
let result = fruits.map(({status,qty,...rest}) => rest);
console.log(result);
答案 2 :(得分:0)
您可以使用
forEach
遍历对象并删除 使用普通旧delete
运算符的不需要的字段。
此方法清除当前对象,无需定义新对象。
fruits.forEach((val) => {delete val.qty; delete val.status})
答案 3 :(得分:0)
您确实不需要使用库来有效删除对象的属性,但如果您想使用 lodash ,这是一个示例如何使用.pick
方法完成此操作:
let pickedFruits = [];
for (let i in fruits) {
pickedFruits.push(_.pick(fruits[i], ["id", "name", "price"]));
}
其中pickedFruits
将是新的对象数组,每个对象都具有id
,name
和price
属性。