我在数组中有一些对象:
var names = [
{ id:"101", name:"eric" },
{ id:"202", name:"john" },
{ id:"303", name:"zack" },
{ id:"404", name:"ron" }
];
我想删除其中一个对象。我只有一个数据来检查对象数组,即id = 202
。最后,我想返回调整后的数组,如下所示:
[
{ id:"101", name:"eric" },
{ id:"303", name:"zack" },
{ id:"404", name:"ron" }
];
答案 0 :(得分:4)
在javascript中,您可以使用Array.filter或Array.reject返回所需的对象数组。下面我演示了如何使用过滤器来实现这一目标。
function idNotTwoZeroTwo(eachObject){ return eachObject.id !== '202'};
names.filter(idNotTwoZeroTwo) // gives you same result
Array.filter是一个本机函数,它将获取现有数组并返回带有过滤值的新数组。它通过遍历数组中的每个项目并在每个项目上运行谓词/真值函数来实现此目的。如果一个项目通过真值测试,它将被推入新数组。迭代完成后,filter将返回一个全新的数组,其中只包含通过测试的值。
在上面的示例中,谓词函数是我们传递给过滤器的匿名函数。您还可以传入之前声明过的函数。
@echo off
setlocal EnableExtensions
title Algoritmos 1 - SUPER TOOL!
color a
:Menu
<menu with option C and J>
set /p mode=
if %mode%==C (
goto MenuC
) else if %menu%==J (
goto MenuJ
) else if NOT %whatapp%==e (
echo Menu inválido!
pause
)
:MenuC
<code that works>
goto MenuC
:MenuJ
<code that works>
pause
goto MenuJ
此外,您实际上并未在示例中表示正确的JSON。如果你有时间通过http://www.w3schools.com/json/default.asp的快速教程进行整理。
还有一件事。如果您将来要查看是否有适当的JSON,只需转到http://jsonlint.com/并复制您的代码。它会告诉您,您的代码是否正确JSON。它甚至会告诉你到底出了什么问题。
这是我的第一个答案,所以我很抱歉,如果我没有完全回答你的问题。希望它有所帮助。!
答案 1 :(得分:1)
使用filter:
var res = names.filter(function(obj) {
return obj.id !== "202";
});
console.log(res);
答案 2 :(得分:0)
你可以使用下划线js非常简单
var names = [
{ id:"101", name:"eric" },
{ id:"202", name:"john" },
{ id:"303", name:"zack" },
{ id:"404", name:"ron" }
];
console.log(_.reject(names, function(num){ return num.id == "202"; }))
包括库下划线