我正在学习ES6和对象,想知道如何在这个对象数组中去掉一个键值对:
[
{ "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
{ "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
{ "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
]
结果应该是:
[
{ "name" : "mark", "height" : "tall", "nat" : "uk"},
{ "name" : "ben", "height" : "medium", "nat" : "uk"},
{ "name" : "neil", "height" : "small", "nat" : "uk" }
]
我创建了一个foreach函数,并试图将每个结果推入一个新的数组,但现在没有对象。
这怎么能解决呢?或者有更好的方法来使用ES6/ES7语法?感谢任何帮助。代码和codePen URL如下:
代码笔:https://codepen.io/anon/pen/bPYQyb
let objArr = [
{ "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
{ "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
{ "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
],
arr = [];
objArr.forEach(function(obj) {
for (let column in obj) {
let currArr = [];
if (isNaN(obj[column])) {
console.log('true');
currArr.push(obj[column]);
}
arr.push(currArr);
}
});
console.log(arr);
如果要在位修改当前对象,可以在数组中循环对象并使用delete
所以你可以
for (let obj of objArr) {
delete obj.theId;
}
或者功能方式
objArr.forEach(obj => delete obj.theId);
只需删除密钥:
let objArr = [
{ "name" : "mark", "height" : "tall", "theId" : "1", "nat" : "uk"},
{ "name" : "ben", "height" : "medium", "theId" : "2", "nat" : "uk"},
{ "name" : "neil", "height" : "small", "theId" : "3", "nat" : "uk" }
];
objArr.forEach(function(obj) {
delete obj.theId;
});
console.log(objArr);
objArr.forEach(a => delete a.theId);
删除操作员的单据:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete
我在开快车。js应用程序,有几个API将数据提供给下拉框。返回的数据格式为: 其中key是我的选项key,value是显示文本。这个数组的结构是固定的,我知道一个事实,我总是将key和value作为数组中每个对象的字段。 当我尝试验证提交的表单(额外的服务器端验证)时,我想交叉引用为字段提供的值与数组中“key”的所有值(blah、foo、bar、baz)。鉴于这将是一个经常使用的路由,我想避免每
假设我有这样的对象数组: 如何从每个对象中删除时间和单词属性?我的输出应该是这样的:
现在我有了新阵列 现在,现有的_array和新的_array都有名称值“b”,我希望它从新数组中移除
我有这个数组的对象,我想删除最后一个对象。有人能让我知道这样做吗?
假设对象数组如下: 如果标签和颜色相同,则为重复条目。在这种情况下,id=1和id=5的对象是重复的。 如何筛选此阵列并删除重复项? 我知道一些解决方案,在这些解决方案中,您可以使用以下内容对一个键进行过滤: 但是多个键呢? 根据评论中的要求,以下是预期结果:
我有一个对象数组,希望删除所有具有特定键值的对象。 该数组如下所示: