0
私は小さな問題を持っているが、それは動作するはずです私のためにit.Asを解決することはできませんが、私は何かを欠場:この部分のITの仕事に配列をプッシュすると間違った項目が追加されます。 JavaScriptの
function reorderItems(items, firstId) {
var orderedItems = [];
//I pass just 2 objects !!!
console.log(items[0]); // Object {children: Array[0], metadata: Array[6], state: Object, id: 226}
console.log(items[1]); // Object {children: Array[0], metadata: Array[6], state: Object, id: 216}
console.log(firstId); // 216
var firstItem ;
for (var i = 0; i<items.length; i++) {
if (items[i].id == firstId) {
firstItem = items[i];
}
}
orderedItems.push(firstItem);
console.log(orderedItems); // [Object] - length 1 !!!!
}
: ここではangularJsコントローラのいずれかにjsのコードです良い。 同じ 'firstItem'をもう一度押すと
orderedItems.push(firstItem);
console.log(orderedItems);
ここで問題を実証するスタックスニペット( '<>'ツールバーボタン)を作成してください。あなたは[この問題](http://stackoverflow.com/questions/38660832/element-children-has-elements-but-returns-empty-htmlcollection)にぶち当たっているかもしれませんが、上記からわかりません。 –
あなたのループについての注意点:1.アイテムを見つけた後でも、それは意図的なものですか?たとえば、これらの「ID」は実際にはユニークではなく、最後のIDが必要ですか? 2.何も見つからなければ、 'orderedItems'配列に' undefined'を送ります。あなたはそれをしたいですか? –