2017-01-24 6 views
-2

私はこのデータを持っています。あなたが見ることができるように、4つのコードがあり、各コードは異なる値を持っています。私がする必要がどのようなJavascriptは配列に異なる値を取得します

{ 
    "code": { 
     "1": 20, 
     "2": 1, 
     "3": 2, 
     "10": 1 
    } 
} 

var totals = [] 

は、最終的な結果は次のようになりますので、合計の配列にこれらを置くことです:ここで

がデータである

[20、1、2、 1]

どうすればいいですか?

+2

あなたがオブジェクト – AshBringer

答えて

-1

var obj = { 
 
     "code": { 
 
      "1": 20, 
 
      "2": 1, 
 
      "3": 2, 
 
      "10": 1 
 
     } 
 
    }; 
 
    var code = obj.code; 
 
    var totals = []; 
 
    for(x in code){ 
 
    totals.push(code[x]); 
 
    } 
 
console.log(totals);

+0

缶誰もがなぜdownvotedを説明する?それは働く答えをdownvoteすることは悪い習慣です。 –

2

ES2017以来、あなたはObject.valuesを使用することができます。

var obj = { 
    "code": { 
     "1": 20, 
     "2": 1, 
     "3": 2, 
     "10": 1 
    } 
}; 

Object.values(obj.code); 

古いバージョンを使用している場合、あなたはアンソニーの答えで述べたようにforループを使用するか、またはlodashまたはundesrcoreを使用することができます。

-1

することができますキーをループし、配列に値を追加します。

var total = []; 
for(var key in a.code) { 
    total.push(a.code[key]); 
} 
+0

以上のループは、私は、不要な値を追加することを避けるために、値をプッシュする前に ''場合(a.code.hasOwnProperty(キー)を追加することをお勧めすることができます。 – GilZ

0

Object.keys() OR

var obj = { 
 
    "code": { 
 
    "1": 20, 
 
    "2": 1, 
 
    "3": 2, 
 
    "10": 1 
 
    } 
 
}; 
 

 
var totals = []; 
 

 
Object.keys(obj.code).forEach(function(key){ 
 
    totals.push(obj.code[key]); 
 
}); 
 

 
console.log(JSON.stringify(totals)); 
 

 
console.log(JSON.stringify(Object.values(obj.code)));

1

使用Array#mapObject.keys方法Object.values()を使用します。 for inループを使用obj.codeのthis.pushすべての要素と同様

var data = { 
 
    "code": { 
 
    "1": 20, 
 
    "2": 1, 
 
    "3": 2, 
 
    "10": 1 
 
    } 
 
}; 
 

 
var totals = Object.keys(data.code).map(function(k) { 
 
    return data.code[k]; 
 
}) 
 

 
console.log(totals);

0

安定した結果を維持するには、事前にキーを並べ替える必要があります。

var data = { code: { 1: 20, 2: 1, 3: 2, 10: 1 } }, 
 
    result = Object.keys(data.code).sort(function (a, b) { 
 
     return a - b; 
 
    }).map(function (k) { 
 
     return data.code[k]; 
 
    }); 
 

 
console.log(result);

0
var obj = { 
    "code": { 
    "1": 20, 
    "2": 1, 
    "3": 2, 
    "10": 1 
    } 
}; 
var arr = Object.keys(obj.code).map(function (k) { return obj.code[k]; }); 
関連する問題