avi*_*ong 1 javascript arrays algorithm
我希望结果是3,1,0,0,但它给了我3,1,1,1而不是.我的算法在下面使用模数有什么问题吗?
points = [6,5,4,2];
var arr = [];
points.forEach(function (obj, i) {
var a = 21;
a = a % points[i] || "";
arr.push(a);
});
console.log(arr);
Run Code Online (Sandbox Code Playgroud)
In [1]: 21 % 6
Out[1]: 3
In [2]: 21 % 5
Out[2]: 1
In [3]: 21 % 4
Out[3]: 1
In [4]: 21 % 2
Out[4]: 1
Run Code Online (Sandbox Code Playgroud)
您的输出是预期输出.
不相关:您不必通过点数从索引中查找值,而是将forEach函数中的值作为obj:
var points = [6,5,4,2],
arr = [];
points.forEach(function (obj) {
var a = 21;
a = a % obj || "";
arr.push(a);
});
console.log(arr);Run Code Online (Sandbox Code Playgroud)