javascript - Javascript使用函数从对象数组中删除属性
问题描述
我有一个对象数组:
const car = [{
color: 'blue',
brand: 'Ford'
},{
color: 'red',
brand: 'Chevy'
}]
我正在尝试创建一个将删除给定属性的函数。例如,我想从所有汽车对象中删除“颜色”属性。如果我编写以下代码,它可以工作:
car.forEach(function(v){ delete v.color})
但是,如果我尝试创建一个函数来执行此操作,它就不起作用:
function removeP(arr, keyPar) {
arr.forEach(function(v){ delete v.keyPar});
}
removeP(car, color)
我也尝试将函数调用为:
removeP(car,'color')
其中,至少不会给我一个错误,但也不起作用。
为什么这个功能不起作用?
解决方案
在变量中存储键时应该使用括号表示法:
const car = [{
color: 'blue',
brand: 'Ford'
},{
color: 'red',
brand: 'Chevy'
}];
function removeP(arr, keyPar) {
arr.forEach(function(v){ delete v[keyPar]});
}
removeP(car, 'color');
console.log(car);
推荐阅读
- android - apk下载安装成功,但版本还是一样。怎么可能?
- node.js - 如何从 node_modules 目录中恢复 package.json
- javascript - JS - 我的网站上的 NodeList.forEach 是否 asyc?
- java - Spring Boot 自定义查询返回关系“todo”不存在
- php - sql查询在本地工作正常但不能在现场工作
- regex - 如何使用正则表达式在路径中的第 7 个斜杠之后提取特定单词
- c++ - 如何使用 fstream (C++) 将十六进制值读入整数
- docker - 来自同一映像的 Docker 容器无法按预期工作
- haskell - Scott Wlaschin ThinkOfNumber 示例
- php - PHP - 在函数内部使用 include/require_once