num_of_points = 72;
for (var i = -num_of_points/2; i < num_of_points/2; i++) {
for (var i2 = -num_of_points/2; i2 < num_of_points/2; i2++) {
array[i + '-' + i2] = [];
array[i + '-' + i2]['x'] = i * 100;
array[i + '-' + i2]['y'] = i2 * 100;
}
}
array.forEach(function output(value){
console.log(value);
});
Не выводит ни ошибок, ничего. Кроме того, если вывести массив просто в консоль (без forEach) то выведет без проблем. Но мне нужно будет потом его именно перебрать - пока что вот такая проблема
forEach
проходит только по существующим элементам массива.
Так как данный массив пуст - length
== 0, он ничего и не выводит.
Почему массив пуст?
массив считается пустым, так как нет числовых свойств, вместо них добавлены строковые.
В данном случае вместо массива стоило использовать объект {}
.
Для обхода по свойствам можно воспользоваться циклом for..in
Либо, если необходим именно массив, стоит добавлять в него элементы, с помощью метода push
var array = {},
num_of_points = 72;
for (var i = -num_of_points / 2; i < num_of_points / 2; i++) {
for (var i2 = -num_of_points / 2; i2 < num_of_points / 2; i2++) {
array[i + '_' + i2] = {};
array[i + '_' + i2]['x'] = i * 100;
array[i + '_' + i2]['y'] = i2 * 100;
}
}
for (var point in array) {
console.log(point + ' :', array[point]);
}
console.log('array =', array);
Все ответы уже даны, но просто для разнообразия:
var num_of_points = 72;
var map = new Map();
for (var i = -num_of_points / 2; i < num_of_points / 2; i++) {
for (var i2 = -num_of_points / 2; i2 < num_of_points / 2; i2++) {
map.set(i + '-' + i2, {
x: i * 100,
y: i2 * 100
});
}
}
map.forEach(function output(value, key) {
console.log(key, value);
});
P.S. Наверно, правильней было бы писать такой код синтаксисом ES6+, но не хочу перегружать ТС информацией
В начале вашего кода добавьте var array = []; Но действия по заполнения массива с ключами вида -1--1 выглядят подозрительно.
А не выводит потому что у вас циклы не останавливаются.
есть стандартная модалка bootstrap, есть кнопка next которая должна закрывать модалку, но при закрытии модалки нужно производить определённые...
Коллеги, решил разработать приложение, и задался вопросом, какой бэкэнд лучше использовать для мобильного приложения, и почемуПока слышал...
Имею некий джейсон который десериализую в объект, одно из полей которого нужно спарсить в decimal