刚才做需求时碰到了一个problem, 要查找一个对象在数组中的位置,然后找到后通过 splice(index,1) 把它删除掉~
但是拿到这个 index ,使用 indexOf
var index = obj.indexOf({
"couponAmount":"4",
"couponName":"日常保洁专用",
"serviceId":1
})
console.log(index) // -1
发现不好使,始终都是返回 -1 ,查找不存在。
因为数组和对象都是引用数据类型,无法直接使用 indexOf方法
只能使用for循环啦~
var obj = [{
"couponAmount":"4",
"couponName":"日常保洁专用",
"serviceId":1
},{
"couponAmount":"4",
"couponName":"日常保洁专用",
"serviceId":3
},{
"couponAmount":"25",
"couponName":"保洁惊喜红包",
"serviceId":4 //品类id
}]
for (var i = 0; i < obj.length; i++) {
if (obj[i].serviceId === 3) {
console.log(i)
}
}
over~