var buy = function(sum, arr){
arr.some(function(item, i) {
var id = arr.indexOf(sum - item, i + 1);
alert(id);
});
};
buy(2,[1,1]);
alert(id)将给我1和-1的值;但是,return表示ID未定义。为什么这样做?
答案 0 :(得分:0)
第一件事arr.some(()=>{})
返回true或false,即使您返回整数或字符串也将返回布尔值,并且如果您在arr.some()
内使用return语句(根据您的代码),则您的代码无效
var buy = function(sum, arr){
return arr.some(function(item, i) {
var id = arr.indexOf(sum - item, i + 1);
alert(id);
return id
});
};
它将起作用。如果id为null或undefined,则返回false;否则返回0。