私はプローブと呼ばれるオブジェクトを持っています。それは配列であるセンサーと呼ばれるプロパティを持っています。別の配列からオブジェクトの配列を更新するJavaScriptの方法は何ですか?
var probe = {
sensors = [
{ id: 1, checked: false },
{ id: 2, checked: true },
{ id: 3, checked: false },
... //more sensors
],
... //other properties
}
私は以下のようなセンサーの更新されたリストを持つ別の配列を持っています。
var updatedSensors = [
{ id: 1, checked: true },
{ id: 3, checked: true }
];
プローブオブジェクト内のセンサー配列をupdatedSensorsの値から更新したいとします。どうすればいい?
これは、2つのfor-loopsを使用することで簡単に達成できます。しかし、for-loopsはJavaScriptでの反復処理には適していないので、これをどのように行うのが望ましいかと思いました。
編集:updatedSensorsで
オブジェクトはprobe.sensors内のオブジェクトのサブセットです。言い換えれば、updatedSensorsはprobe.sensorsにあるすべてのオブジェクト(ids)を持っているわけではありませんが、probe.sensorsはupdatedSensorsにあるすべてのオブジェクト(ids)を持っています。
ありがとうございました。
はユニーク 'id'sていますか?もしそうなら、私はいくつかのループを保存するために 'id'->' checked'のハッシュに配列の1つを翻訳します – CodingWithSpike
'sensors = {1:false、2:true、3:false}'ならば['Object.assign'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)を使用してください。 – 4castle
@ 4castle はい、うまくいきましたが、配列内のセンサーobjsには他のプロパティもあります。 idとcheckedは2つのプロパティのみです。 –