Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Lodash删除对象数组中的某些元素_Javascript_Object_Lodash - Fatal编程技术网

Javascript 如何使用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' } ]; 如何删除所有对象数组

我只想问一下如何使用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 }
]

在没有任何库的情况下,您可以使用
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
迭代对象并删除 使用普通的old
delete
运算符删除不需要的字段

此方法清除当前对象,而无需定义新对象

fruits.forEach((val) => {delete val.qty; delete val.status})
您可以使用
forEach
迭代对象并删除 使用普通的old
delete
运算符删除不需要的字段

此方法清除当前对象,而无需定义新对象

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,我已经添加了解释。我之前没有这样做,因为我使用的运算符是基本的,并且是不言自明的。