Javascript 如何从数组中删除对象并将其保存以供以后使用?
原来我的问题是找到了@nnnnnn的答案。使用Javascript 如何从数组中删除对象并将其保存以供以后使用?,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,原来我的问题是找到了@nnnnnn的答案。使用$.grep 我现在的新问题是,如何保存刚刚删除的对象 原因是,如果用户决定保留保存的对象,我希望能够将其推回到数组中 我的网络阵列: 控制台: networks数组=[object object],[object object] networks: Array[2] 0: Object count: 1 id: "6" label: "CompanyName" type: "Organizat
$.grep
我现在的新问题是,如何保存刚刚删除的对象
原因是,如果用户决定保留保存的对象,我希望能够将其推回到数组中
我的网络
阵列:
控制台:networks数组=[object object],[object object]
networks: Array[2]
0: Object
count: 1
id: "6"
label: "CompanyName"
type: "Organization"
1: Object
count: 1
id: "12622"
label: "MyGroup"
type: "Group"
从另一个答案中,我用它来查看网络数组,找到类型为“组织”的对象,并将其删除
networks=$.grep(networks,function(o,i){returno.type==“Organization”;},true)代码>
有没有简单的方法保存整个对象?这样就可以把它推回去了
谢谢你看 您可以将回调中的对象分配给变量。这不是一个非常干净的解决方案,因为这样的回调在IMO中不应该有副作用,但它可以在不对代码进行较大更改的情况下工作:
var obj;
networks = $.grep(networks, function(o,i) {
if (o.type === "Organization") {
obj = o;
return true;
}
return false;
}, true);
或者稍微短一点(对于不知道逗号运算符的人来说,这更让人困惑):
您可以将回调中的对象分配给变量。这不是一个非常干净的解决方案,因为这样的回调在IMO中不应该有副作用,但它可以在不对代码进行较大更改的情况下工作:
var obj;
networks = $.grep(networks, function(o,i) {
if (o.type === "Organization") {
obj = o;
return true;
}
return false;
}, true);
或者稍微短一点(对于不知道逗号运算符的人来说,这更让人困惑):
您可以将回调中的对象分配给变量。这不是一个非常干净的解决方案,因为这样的回调在IMO中不应该有副作用,但它可以在不对代码进行较大更改的情况下工作:
var obj;
networks = $.grep(networks, function(o,i) {
if (o.type === "Organization") {
obj = o;
return true;
}
return false;
}, true);
或者稍微短一点(对于不知道逗号运算符的人来说,这更让人困惑):
您可以将回调中的对象分配给变量。这不是一个非常干净的解决方案,因为这样的回调在IMO中不应该有副作用,但它可以在不对代码进行较大更改的情况下工作:
var obj;
networks = $.grep(networks, function(o,i) {
if (o.type === "Organization") {
obj = o;
return true;
}
return false;
}, true);
或者稍微短一点(对于不知道逗号运算符的人来说,这更让人困惑):
从回调返回之前,请将对象保存在变量中。它不是超级干净,但可以工作。感谢提示,我只是实际运行了此函数,并且$。grep
没有从函数中删除对象:(可能回到第1格,但应该是这样,这就是$.grep
正在做的。请注意,您在回调中使用的是o.name
,但示例数据没有name
属性。编辑:Yep;)@ThilakRaj这应该很简单,只需检查您单击的对象。比较其中的一些键,如id
或name
等等,您可以使用简单的for循环
或lodash
在主数组中找到它,然后将其删除。使用splice
@ThilakRaj btw从不使用cap命名对象键ital字母ieName
始终只是Name
。在您从回调返回之前,请检查此Stackoverflow btw,将对象保存在变量中。它不是超级干净的,但可以工作。感谢提示,我只是实际运行了此函数,$。grep
没有从函数中删除对象:(可能回到第1格,但应该是这样,这就是$.grep
正在做的。请注意,您在回调中使用的是o.name
,但示例数据没有name
属性。编辑:Yep;)@ThilakRaj这应该很简单,只需检查您单击的对象。比较其中的一些键,如id
或name
等等,您可以使用简单的for循环
或lodash
在主数组中找到它,然后将其删除。使用splice
@ThilakRaj btw从不使用cap命名对象键ital字母ieName
始终只是Name
。在您从回调返回之前,请检查此Stackoverflow btw,将对象保存在变量中。它不是超级干净的,但可以工作。感谢提示,我只是实际运行了此函数,$。grep
没有从函数中删除对象:(可能回到第1格,但应该是这样,这就是$.grep
正在做的。请注意,您在回调中使用的是o.name
,但示例数据没有name
属性。编辑:Yep;)@ThilakRaj这应该很简单,只需检查您单击的对象。比较其中的一些键,如id
或name
等等,您可以使用简单的for循环
或lodash
在主数组中找到它,然后将其删除。使用splice
@ThilakRaj btw从不使用cap命名对象键ital字母ieName
始终只是Name
。在您从回调返回之前,请检查此Stackoverflow btw,将对象保存在变量中。它不是超级干净的,但可以工作。感谢提示,我只是实际运行了此函数,$。grep
没有从函数中删除对象:(可能回到第1格,但应该是这样,这就是$.grep
正在做的。请注意,您在回调中使用的是o.name
,但示例数据没有name
属性。编辑:Yep;)@ThilakRaj这应该很简单,只需检查您单击的对象。比较其中的一些键,如id
或name
等等,您可以使用简单的for循环
或lodash
在主数组中找到它,然后将其删除。使用splice
@ThilakRaj btw从不使用cap命名对象键ital字母ieName
始终只是Name
。查看此Stackoverflow顺便说一句,数组中的每个对象都会有单独的按钮。如果我要删除数组中的特定对象,请单击按钮。如何操作。我使用angular js ng repeat生成项目。您能帮助我完成其他事情吗蚂蚁,会有九月