【发布时间】:2018-02-10 10:48:27
【问题描述】:
我正在尝试从数组中找出选定的对象索引
但它总是返回 -1 不知道为什么?
这是我正在尝试做的事情
我有以下数组,其中它们是多个对象
var data = [{
"name": "abc",
"age": 25,
"school": "xyz pqr"
},
{
"name": "abc1",
"age": 26,
"school": "xyz pqr"
},
{
"name": "abc2",
"age": 27,
"school": "xyz pqr"
}]
这是我的另一个用户选择的数组
var dList = [{
"name": "abc",
"age": 25,
"school": "xyz pqr",
"isChecked": true
}]
现在我想从数据数组中找出选定的对象索引并从该数组中删除该对象
if (dList.length > 0) {
for (let i=0; i<dList.length; i++){
delete dList[i]['isChecked']
console.log(dList[i])
console.log(data[0])
console.log(dList[i] == data[0])
let index = data.indexOf(dList[i]);
console.log(index)
data.splice(index, 1);
}
}
【问题讨论】:
-
如果 objA===objB,它必须具有相同的引用
-
1.您正在从 dList 中删除
isChecked。 2. 您试图使用整个对象获取索引。识别对象的独特属性是什么?即:name? -
对象键中没有唯一标识,它每次都会更改,因此我试图找出整个对象索引。
标签: javascript jquery arrays indexof