Javascript 如何使用Lodash删除对象数组中的某些元素
我只想问一下如何使用lodash删除对象数组中的一些元素Javascript 如何使用Lodash删除对象数组中的某些元素,javascript,object,lodash,Javascript,Object,Lodash,我只想问一下如何使用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' } ]; 如何删除所有对象数组
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 }
]
在没有任何库的情况下,您可以使用
map
并分解对象
var fruits=[{“id”:1,“名称”:“苹果”,“价格”:55,“数量”:3,“状态”:“成熟”},{“id”:2,“名称”:“香蕉”,“价格”:55,“数量”:4,“状态”:“成熟”},{“id”:3,“名称”:“菠萝”,“价格”:55,“数量”:2,“状态”:“成熟”}]
var result=fruits.map({qty,status,…r})=>r);
控制台日志(结果)代码>没有任何库,您可以使用映射
并分解对象
var fruits=[{“id”:1,“名称”:“苹果”,“价格”:55,“数量”:3,“状态”:“成熟”},{“id”:2,“名称”:“香蕉”,“价格”:55,“数量”:4,“状态”:“成熟”},{“id”:3,“名称”:“菠萝”,“价格”:55,“数量”:2,“状态”:“成熟”}]
var result=fruits.map({qty,status,…r})=>r);
控制台日志(结果)代码>您也可以在不使用库的情况下执行此操作
使用
var fruits=[{id:1,名称:“苹果”,价格:55,数量:3,状态:“成熟”},{id:2,名称:“香蕉”,价格:55,数量:4,状态:“成熟”},{id:3,名称:“菠萝”,价格:55,数量:2,状态:“成熟”};
让result=fruits.map({status,qty,…rest})=>rest);
控制台日志(结果)代码>您也可以在不使用库的情况下执行此操作
使用
var fruits=[{id:1,名称:“苹果”,价格:55,数量:3,状态:“成熟”},{id:2,名称:“香蕉”,价格:55,数量:4,状态:“成熟”},{id:3,名称:“菠萝”,价格:55,数量:2,状态:“成熟”};
让result=fruits.map({status,qty,…rest})=>rest);
控制台日志(结果)代码>
您可以使用forEach
迭代对象并删除
使用普通的olddelete
运算符删除不需要的字段
此方法清除当前对象,而无需定义新对象
fruits.forEach((val) => {delete val.qty; delete val.status})
您可以使用forEach
迭代对象并删除
使用普通的olddelete
运算符删除不需要的字段
此方法清除当前对象,而无需定义新对象
fruits.forEach((val) => {delete val.qty; delete val.status})
确实,不需要使用库来有效删除对象的属性,但是如果要使用lodash,下面是一个使用的示例。选择方法:
let pickedFruits = [];
for (let i in fruits) {
pickedFruits.push(_.pick(fruits[i], ["id", "name", "price"]));
}
其中,pickedFruits
将是新的对象数组,每个对象都有一个id
,name
和price
属性。确实不需要使用库来有效地删除对象的属性,但是如果要使用lodash,下面是一个使用方法执行此操作的示例。选择方法:
let pickedFruits = [];
for (let i in fruits) {
pickedFruits.push(_.pick(fruits[i], ["id", "name", "price"]));
}
其中,pickedFruits
将是一个新的对象数组,每个对象都有一个id
、name
和一个price
属性。虽然这个代码片段可能是解决方案,但确实有助于提高文章的质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。@RoshanaPitigala,我已经添加了解释。我之前没有这样做,因为我使用的运算符是基本的和自解释的。@Narendrajadv,我已经添加了解释。我之前没有这样做,因为我使用的运算符是基本的,并且是不言自明的。虽然这个代码片段可能是解决方案,但它确实有助于提高您的文章质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。@RoshanaPitigala,我已经添加了解释。我之前没有这样做,因为我使用的运算符是基本的和自解释的。@Narendrajadv,我已经添加了解释。我之前没有这样做,因为我使用的运算符是基本的,并且是不言自明的。