[英]Removing element from multidimensional array in Javascript
我试图从javascript中的多维数组中删除元素,该数组是这样构建的:
selectedClients.push({client: id, package: package_id, transfer: transfer_id});
但是,可以有多个客户端,在此数组中多次传输的多个包中,如何使用所有三个标识符而不是一个标识符从此数组中删除元素?
例如:
Array[0]
{
client: 1
package: 1
transfer: 1
}
Array[1]
{
client: 2
package: 1
transfer: 1
}
Array[2]
{
client: 1
package: 2
transfer: 2
}
非常感谢
您可以滚动自己的函数,该函数将接收具有与数组中的属性数量完全相同的属性的对象,然后slice
出它找到的对象:
说您通过:
{client: 1, package: 1, transfer: 1}
让我们建立!
//Returns the new array if found, false if nothing
function removeObjectFromArray(objectToRemove, arrayOfObjects) {
for (var i = 0; i < arrayOfObjects.length; i++) {
var stringyArrObj = JSON.stringify(arrayOfObjects[i]),
stringyRemoveObject = JSON.stringify(objectToRemove);
if (stringyArrObj === stringyRemoveObject)
return arrayOfObjects.slice(i, i+1);
}
return false;
}
对象的顺序很重要,因为如果对象的排序方式不同,则stringify
不会匹配。 如果这是一个问题,则必须编写一些较大的函数,分别比较各个键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.