@bigProblem

Почему все элементы массива ровняются последнему элементу объекта?

Привожу упрощенный вариант моей задачи, но который тоже не работает как ожидалось.

var status = $('<div></div>');

var ar = [];

var o = [
                        {
                            id: 1,
                            text: 1
                        },
                        {
                            id: 2,
                            text: 2
                        },
                        {
                            id: 3,
                            text: 3
                        },
                        {
                            id: 4,
                            text: 4
                        }
                    ];

                    o.forEach(function (e, i) {
                        var s = status;
                        s.append(e.text);
                        ar.push(status);
                    });


Знаю, что js работает не так как привыкли, но не могу решить.

ожидал увидеть

ar
1 - 1
2 - 2
3 - 3
4 - 4

Но все элементы в массиве

ar
1 - 1,2,3,4
2 - 1,2,3,4
3 - 1,2,3,4
4 - 1,2,3,4

Покажите как надо
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
o.forEach(function (e, i) {
                        var s = status.clone();
                        s.append(e.text);
                        ar.push(s);
                    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы