2016-10-05 5 views
-3

ожидаемый выход должен быть похож на категорию [«Агри», «вода»] значения области должны быть [3,3] Я попытался удалить дубликаты в массиве категорий, если дубликат то необходимо добавить областьКак можно выполнить добавление элементов массива

<!DOCTYPE html> 
<html> 
<body> 

<h1>Joining Two Arrays</h1> 

<p id="demo"></p> 

<script> 
var twodim = new Array(); 
var category = ["Agri", "Agri","water"]; 
var area = [1, 2, 3]; 

       for (n = 0; n < category.length; n=n+1) 
       { 

       twodim.push([category[n],area[n]]); 

       } 

alert(twodim); 

document.getElementById("demo").innerHTML = myChildren; 
</script> 
</body> 
</html> 
+0

Можете ли вы показать свою полную попытку? Ни один из этих кодов, похоже, не пытается сделать то, что вы описали. – 4castle

+0

Что такое "myChildren"? –

ответ

0

Вы делаете это правильно. Но вместо массивов используйте объекты. Объект требует ключей, а простые ключи - это простые способы обнаружения обманов. Если ключ существует, добавьте его.

var twodim = {} 
 
var category = ["Agri", "Agri", "water"]; 
 
var area = [1, 2, 3]; 
 

 
for (var n = 0; n < category.length; n++) { 
 
    if (twodim[category[n]] === undefined) { 
 
    twodim[category[n]] = [category[n], area[n]] 
 
    } else { 
 
    twodim[category[n]][1] += area[n] 
 
    } 
 
} 
 

 
function getAsArray(obj) { 
 
    return Object.keys(obj).map(function(item) { 
 
    return obj[item]; 
 
    }); 
 
} 
 
console.log(twodim, getAsArray(twodim))

+0

Как я могу видеть оповещения об этом – user28536

+0

Спасибо большое, сэр получил его правильно – user28536

0

Я надеюсь, что ниже раствора поможет вам.

Вы также можете проверить это решение в here

var new_cate = new Array(); 
var new_area = new Array(); 
var category = ["Agri", "Agri","water"]; 
var area = [1, 2, 3]; 

       for (n = 0; n < category.length; n=n+1) 
       { 

        var IsFlag = false; 
        for(i=0;i<new_cate.length;i++){ 

        if(new_cate[i] == category[n]) 
        { 
         new_area[i] += area[n]; 
         IsFlag = true; 
        } 
        } 
            if(!IsFlag) 
            { 
         new_cate.push(category[n]); 
        new_area.push(area[n]); 
            } 


       } 

console.log(new_cate); 
console.log(new_area); 
Смежные вопросы