0

次の 2 つの配列があります。

itemKeys: [
{
    name: "REFOBJTYPE"
},
{
    name: "REFOBJKEY"
}
...
]

itemValues: [
{
    value: ""
},
{
    value: ""
}
]

とオブジェクト

ref: {
    REFOBJTYPE: 1,
    REFOBJKEY: 2, 
}

それらは固定されており、構造自体を変更することはできません。

itemValues の値には ref オブジェクトからの値を入力する必要があります。インデックスを取得するには、itemKeys 配列を検索する必要があります。

この質問の要点:各キーが ref に存在するかどうかを確認するために 2 つの「for」ループを使用したくありません。「indexOf」などのJAVASCRIPT固有の機能を使用したいので、次のようにします。

このタスクを完了するには、2 つの FOR-LOOP ではなく、その他の方法がありますか?

なぜこれが必要なのか、なぜ 2 つのループが気に入らないのか、疑問に思わないでください。明らかに、「背後」の実装では2つのループになります。

4

1 に答える 1

0

これが意図したものかどうかはわかりませんが、itemKeys配列をループすると、オブジェクト内のキーに関連付けられた値を簡単に検索して、それを 1 回のループrefで配列に書き出すことができます。itemValues

for (var i = 0; i < itemKeys.length; i++) {
  var key = itemKeys[i].name;
  var value = ref[key];
  itemValues[i].value = value;
}
于 2013-06-24T16:53:25.997 に答える