如何将数组中的每个数字除以javascript中的变量?

Jul*_*ian 0 javascript

我需要一种简单的方法来将数组中的所有数字(包含在对象中)除以javascript(无jquery或其他库)中的变量:

var divisor = 16;
var array = [{"x":0,"y":16},{"x":16,"y":32},{"x":32,"y":48}];
Run Code Online (Sandbox Code Playgroud)

预期结果:

[{"x":0,"y":1},{"x":1,"y":2},{"x":2,"y":3}];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

Cer*_*rus 5

这应该为您做:

var divisor = 16;
var array = [{"x":0,"y":16},{"x":16,"y":32},{"x":32,"y":48}];

for(var i = 0, length = array.length; i < length; i++){
    array[i] = {'x':array[i].x/divisor,'y':array[i].y/divisor};
}
Run Code Online (Sandbox Code Playgroud)

如果将来可能扩展对象,则可能需要这样做,而不是:

for(var i = 0, length = array.length; i < length; i++){
    array[i].x /= divisor;  // `a[i].x /= d` is shorthand for `a[i].x = a[i].x / d`
    array[i].y /= divisor;
}
Run Code Online (Sandbox Code Playgroud)

这样做的好处是不会覆盖array[i],可以保存其他可能的属性。