私はサーバーからオブジェクトの配列の配列を持っていますが、配列全体をそのままdata
配列に保持しながら、昇順でuidでソートしようとしています。 data
配列には、2つの要素があります。私はそれが配列内のすべての要素の中の1つの配列の中でuidを調べ、要素がdata
配列内にどのように配置されるべきかの順序を決定しようとしています。javadriptでオブジェクトの配列を並べ替える
私はlodash使用して、以下を試してみましたが、動作するようには思えませんが、私は私が近づいていますし、いくつかの支援をしたいと思い感じる:オブジェクトの配列から返され
// sort by:
console.log(res.results[0].data[0].row[1].uid)
_.forEach(res.results, function(obj) {
_.forEach(data, function(anotherObj) {
_.forEach(row, function(row) {
data.row = _.sortBy(data.row, function(row) {
return row[1].uid;
});
});
});
});
ここサーバー:
var res = {
results: [{
columns: ['large', 'medium', 'small'],
data: [{
row: [{
sid: 13,
tid: 427
},
{
uid: 69,
vid: 450,
wid: 65
},
null],
multirow: {
nodule: [{
xid: '427',
properties: {
yid: 13,
zid: 427
}
},
{
aid: '450',
properties: {
uid: 69,
bid: 450,
cid: 65
}
}]
}
},
{
row: [{
sid: 13,
tid: 427
},
{
vid: 432,
uid: 65,
wid: 61
},
null],
multirow: {
nodule: [{
xid: '427',
properties: {
yid: 13,
zid: 427
}
},
{
aid: '432',
properties: {
bid: 432,
uid: 65,
cid: 61
}
}]
}
}]
}],
errors: []
};
あなたの 'row'アレイにはそれぞれ3つの要素があり、そのうちの2つだけがオブジェクトで、そのうちの1つだけが' uid'プロパティを持ちます。 'row'配列、' data'配列、または 'results'配列を正確にソートしたいのですか? – Bergi
コード内の変数は完全に接続されていません。私は、 'row'の代わりに' data'、 'anotherObj.row'の代わりに' obj.data'を意味していたと思います。そして、その内部ループはまったく意味を持たないようです... – Bergi
@Bergi、私のタイプミス。私はその問題を解決します。私がしようとしているのは、データ配列内の要素を 'uid'でソートすることです。そして、はい、あなたは正しい 'uid'が2つの場所の行と複数の行にあります。しかし、私は単なる行の代わりに複数行を使うつもりでした – adbarads