数组中的数组products_mes[a]是对象 用indexOf()方法报错 有什么好的方法解决这个问题?
$scope.addCount=function(c,a){
var arr = [];
var obj=$scope.products_mes[a];
console.log(obj);
c=c+1;
};
没搞明白是要干嘛
如果是数组要判断是否包含某元素 那就 arr.indexOf(item)
如果是对象要判断是否包含某属性 那就 obj.xxx 或者 obj[xxx] 是否为空就行了
var obj = {name:"老王",id:1};
obj.name // "老王"
obj.age // undefined
首先你这个问题,不太明确。
我尝试去理解你的问题
products_mes[a]
里面判断c
是否存在 ?要判断一个object 里面是否包含某个
c
这里需要确定你是查询key,还是value.假定是判断key,那么你可以使用
如果你要判断value,那么因为
Object.values
还是个提案,所以你可以用替代方法把Object 里面的 value 提取成数组,你可以试试用underscore.js
的where函数来返回一个值的结果集这样你就可以继续使用indexOf(c)了。。
。。。。。。。。
我有个疑问,既然
a
(命名方式不敢恭维) 是表示数组下标,那么:就行,为何还要
indexOf
多此一举。另,关于 indexOf 前面已经有人解读个大概了,可以通过:
当然这一步是多余了,因为你的参数中已经知道下标了。