#javascript #jquery
#javascript #jquery
Вопрос:
Я хочу вставлять элементы в массив в цикле и хочу проиндексировать свой собственный для каждого элемента вместо индекса по умолчанию, предлагаемого самим массивом, чтобы я мог получить индекс позже, чтобы сопоставить его с другим объектом по этому индексу. Я хочу проиндексировать массив цен с index
помощью функции обратного вызова in, как я могу это сделать?
var calculation = [];
var priceArr = [];
angular.forEach($scope.ListCollection[i].lstCustomziation, function (value, index) {
if ($scope.ListCollection[i].lstCustomziation[index].IsApplied == true) {
calculation.push($scope.ListCollection[i].lstCustomziation[index]);
priceArr.push($scope.ListCollection[i].lstCustomziation[index].price);
}
});
Здесь я хочу пометить индекс как index
из обратного вызова
priceArr.push($scope.ListCollection[i].lstCustomziation[index].price);
Ответ №1:
Присваивайте значение, используя индекс, а не используя push
:
priceArr[index] = $scope.ListCollection[i].lstCustomziation[index].price;
Комментарии:
1. Разве это не
$scope.ListCollection[i].lstCustomziation[index]
то жеvalue
самое, что внутри функции? 🙂2. @Jack: Да, хорошая мысль.
priceArr[index] = value.price;
работает так же. 🙂 Я оставлю ответ тем же, хотя слишком большое изменение исходного кода может запутать ответ на фактический вопрос.