Javascript 如何从文字对象数组中删除元素

Javascript 如何从文字对象数组中删除元素,javascript,Javascript,您好,我正在尝试从数组数据中的每个对象中删除actions属性: [{productName: "", ... action: ...,}, {productName: "", ...action:...} ...] 1) 使用映射(…): 注意,如果你想过滤掉很多属性,这会更优雅,但是如果你只想删除一个属性,这会更有效 2) 使用删除: for (let i = 0; i < your_array.length; i++){ delete your_array[i].actio

您好,我正在尝试从数组数据中的每个对象中删除actions属性:

[{productName: "", ... action: ...,}, {productName: "", ...action:...} ...]
1) 使用
映射(…)

注意,如果你想过滤掉很多属性,这会更优雅,但是如果你只想删除一个属性,这会更有效

2) 使用
删除

for (let i = 0; i < your_array.length; i++){
    delete your_array[i].action
}
for(让i=0;i
使用数组
映射
它将返回一个新数组。在
映射
回调中,创建一个新对象,并仅填充需要的字段。不要改变原始数组

var-arr=[{
产品名称:“1”,
操作:“”
}, {
产品名称:“2”,
操作:“”
}];
设newArr=arr.map(函数(项){
返回Object.assign({}{
产品名称:item.productName
})
});
console.log(newArr)
根据,您可以使用
删除
操作符

一种简单的方法是循环数组
arr
并从每个对象中删除属性

for (var i = 0; i < arr.length; i++){
    delete arr[i].action;
}
for(变量i=0;i

这种方法比其他方法(如
map
for each
)更有效

使用
map
和对象遍历数组,以仅保留所需字段

var arr  =[{productName: "bbbb", action: 'b'},
         {productName: "aa",action: 'a'}, 
         {productName: "tt",action: 't'}, 
         {productName: "vv",action: 'v'}]


arr = arr.map((d) => {delete d.action ; return d;});
var-arr=[{
产品:“xyz”,
行动:“abc”,
其他:“o”
}, {
产品:“xyz”,
行动:‘123’,
其他:“o”
}, {
产品:“xyz”,
行动:‘自卫队’,
其他:“o”
}]
const result=arr.map(({
行动,
休息
})=>休息);
控制台日志(结果)使用ES6,您可以与和一起使用,以分离出要保留的对象特性和要放弃的零件:

const数据=[{
id:1,
产品名称:“1”,
操作:“”
}, {
id:1,
产品名称:“2”,
操作:“”
}];
let out=data.map(({action,…rest})=>rest);

控制台。注销您正在第二个中删除productName。第一个也删除了不仅仅是“动作”,这可能不是我们想要的。@bum Nice spot,我已经更新了第二个,并在第一个中添加了注释。我留下了第一个方法,因为如果您只想保留一个键,多个值对,那么它可能是可取的。重复:如果
productName
不是唯一的属性怎么办?您可以添加一些解释吗
var arr  =[{productName: "bbbb", action: 'b'},
         {productName: "aa",action: 'a'}, 
         {productName: "tt",action: 't'}, 
         {productName: "vv",action: 'v'}]


arr = arr.map((d) => {delete d.action ; return d;});