переменная будет:

аюсь сделать некоторые сопоставления в JavaScript. Что я пытаюсь сделать, это я пытаюсь проверить, если тип изarr существует вdatasetarr, если существует, я получаю индекс вdatasetarr и увеличить количество этого индекса. Если не существует, я добавляю новую запись вdatasetarr, Вот мой код:

var datasetarr = [];
var pos;
for(var i = 0; i < arr.length; i++){
    console.log('unsorted ' + arr[i].type + ' ' + arr[i].quantity);
    if(datasetarr.indexOf(arr[i].type) > -1){
        pos = datasetarr.indexOf(arr[i].type);
        datasetarr[pos].quantity += arr[i].quantity;
    }else{
        datasetarr.push({type: arr[i].type, quantity: arr[i].quantity});
    }
}

for(var i = 0; i < datasetarr.length; i++){
    console.log('sorted ' + datasetarr[i].type + ' ' + datasetarr[i].quantity);
}

Выход должен быть:

kitchen appliance 20
home entertainment 8
batteries & lightings 4
home appliance 12

Затем я могу получить тип и количество каждого и сохранить его в массиве, чтобы построить график.

Однако, с моим кодом выше, вещи, которые я получаю, точно такие же, как и несортированные. Есть идеи, какая часть моей логики пошла не так?

Ответы на вопрос(0)

Ваш ответ на вопрос