在具有特定 属性 的数组中的其他对象之前插入数组中的对象
Insert Object in Array before other object in array with specific property
我有一个包含对象的数组。所有对象都有一个唯一的 ID。现在我想在具有特定 id 的对象之前插入一个新对象。为此,我得到了这个对象:
{"topic":"add","payload":{"id":1,"end":"24:00","temp":21,"add":0,"delete":0},"row":-1,"socketid":"SSZY-1C3jiP8-NS2AAAB","_msgid":"a891f409.e30038"}
现在我需要在这个数组中找到这个 id 为:
的对象
[{"woche":"Montag","status":0,"_children":[{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
现在我想在具有匹配 ID 的对象之前插入一个新对象。
如何找到数组中的位置以及如何添加该对象?
{"id":`${++Id}`,"end":"","temp":21,"add":0,"delete":0}
最后应该是这样的:
[{"woche":"Montag","status":0,"_children":[{"id":"8","end":"","temp":21,"add":0,"delete":0},{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
您可以使用filter
方法来检查特定元素的索引。
假设这是你的数组:
let arr = [{"woche":"Montag","status":0,"_children":[{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
您需要在数组中搜索此对象的索引:
let s = {"topic":"add","payload":{"id":1,"end":"24:00","temp":21,"add":0,"delete":0},"row":-1,"socketid":"SSZY-1C3jiP8-NS2AAAB","_msgid":"a891f409.e30038"}
您可以使用以下查询来实现:
let index = -1
arr.filter((o) => {
if(s.payload.id === o._children[0].id) {
index = arr.indexOf(o)
}
return o
})
您可以使用 splice
方法在数组中的特定索引处添加新对象。
arr.splice(index, 0, <value to enter in array>)
我有一个包含对象的数组。所有对象都有一个唯一的 ID。现在我想在具有特定 id 的对象之前插入一个新对象。为此,我得到了这个对象:
{"topic":"add","payload":{"id":1,"end":"24:00","temp":21,"add":0,"delete":0},"row":-1,"socketid":"SSZY-1C3jiP8-NS2AAAB","_msgid":"a891f409.e30038"}
现在我需要在这个数组中找到这个 id 为:
的对象[{"woche":"Montag","status":0,"_children":[{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
现在我想在具有匹配 ID 的对象之前插入一个新对象。
如何找到数组中的位置以及如何添加该对象?
{"id":`${++Id}`,"end":"","temp":21,"add":0,"delete":0}
最后应该是这样的:
[{"woche":"Montag","status":0,"_children":[{"id":"8","end":"","temp":21,"add":0,"delete":0},{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
您可以使用filter
方法来检查特定元素的索引。
假设这是你的数组:
let arr = [{"woche":"Montag","status":0,"_children":[{"id":1,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Dienstag","status":0,"vortag":1,"_children":[{"id":2,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Mittwoch","start":"","status":0,"vortag":1,"_children":[{"id":3,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Donnerstag","status":0,"vortag":1,"_children":[{"id":4,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Freitag","start":"","status":0,"vortag":1,"_children":[{"id":5,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Samstag","start":"","status":0,"vortag":1,"_children":[{"id":6,"end":"24:00","temp":21,"add":0,"delete":0}]},{"woche":"Sonntag","start":"","status":0,"vortag":1,"_children":[{"id":7,"end":"24:00","temp":21,"add":0,"delete":0}]}]
您需要在数组中搜索此对象的索引:
let s = {"topic":"add","payload":{"id":1,"end":"24:00","temp":21,"add":0,"delete":0},"row":-1,"socketid":"SSZY-1C3jiP8-NS2AAAB","_msgid":"a891f409.e30038"}
您可以使用以下查询来实现:
let index = -1
arr.filter((o) => {
if(s.payload.id === o._children[0].id) {
index = arr.indexOf(o)
}
return o
})
您可以使用 splice
方法在数组中的特定索引处添加新对象。
arr.splice(index, 0, <value to enter in array>)