我有一个包含我正在寻找的东西的对象:
排除
1:对象 [ ID:“38433”,位置:“中环”] 2:对象 [ ID:“43434”,位置:“西”]
我有一个名为学校的对象,其中包含所有内容的集合:
我正在使用 Object.keys()
方法来循环访问该对象,但我需要传入要搜索的位置以在中部或西部等地进行搜索。如果我尝试执行 (Schools.District.location) 之类的操作,则会收到错误。如何将正确的参数传递给我的 object.keys
函数?
第 2 部分:从该数组中删除元素的正确方法是什么。因此,如果 ID 匹配,我需要删除 Location[15]。
代码:
$.each(Exclusions , function (index, value) {
var location = value.Location; //gives me Central, West, East
var ID = value.ID;
Object.keys(Schools.District.{{pass in location}}).forEach(function (key) {
//each location is an array of schools so i need to scan each for the matching ID
for (var i=0; i < {{get length of location array}}.length; i++) {
if(location[i][ID] == ID)
{
location.slice(); //not sure about this
}
}
});
最佳答案
您想使用 objects.key
当然 ?你为什么不使用 for in
?
var result = [];
for (i in YOUR_OBJECT)
{
if(YOUR_OBJECT[i].location == "what you want") result.push(YOUR_OBJECT[i]);
}
我猜你可能无法删除你想要的属性,但你可以将其设置为 null
,最后,获取那些不是 null
的属性
编辑: 删除 YOUR_OBJECT 上的属性:(i 是键迭代器)
delete YOUR_OBJECT[i]
关于javascript 将参数传递给 object.keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21596698/