2016-10-05 11 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

あなたは正しいことをしています。しかし、配列の代わりに、オブジェクトを使用します。オブジェクトは、キーとキーに簡単にはdupesを検出するための簡単な方法ですが必要です。キーが存在する場合は、追加します。私は解決策の下に願っています

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);