Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中从多维数组中删除元素_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

在Javascript中从多维数组中删除元素

在Javascript中从多维数组中删除元素,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我试图从javascript中的多维数组中删除一个元素,该数组的构建方式如下: selectedClients.push({client: id, package: package_id, transfer: transfer_id}); 然而,在这个数组中的多个传输中,可以有多个客户端,在多个包中,如何使用所有三个标识符(而不仅仅是一个标识符)从这个数组中删除一个元素 例如: Array[0] { client: 1 package: 1 transfer: 1 } Array[1] { c

我试图从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
}

非常感谢

您可以滚动您自己的函数,该函数将接收具有与数组中属性数量相同的属性的对象,然后
将找到的对象切片出来:

假设你通过:

{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; 
}
//如果找到,则返回新数组;如果没有,则返回false
函数removeObjectFromArray(objectToRemove,arrayOfObjects){
对于(变量i=0;i

对象的顺序很重要,因为如果对象的顺序不同,stringify
将不匹配。如果这是一个问题,您将不得不编写一个更大的函数来比较各个键。

您可以滚动自己的函数,该函数将接收一个具有与数组中属性数量相同的属性的对象,然后
切片它找到的对象:

假设你通过:

{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; 
}
//如果找到,则返回新数组;如果没有,则返回false
函数removeObjectFromArray(objectToRemove,arrayOfObjects){
对于(变量i=0;i

对象的顺序很重要,因为如果对象的顺序不同,stringify
将不匹配。如果这是一个问题,您将不得不编写一个更大的函数,分别比较键。

这不是多维数组,这是一个对象数组,非常不同:)看看方法这不是多维数组,这是一个对象数组,非常不同:)看看方法