从 Javascript 中的多维数组中删除元素
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
则不匹配。如果这是一个问题,你必须编写一个更大的函数来单独比较键。
相关文章:
- 从组件状态的数组中删除元素
- Mongoose-在更新中删除数组元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 添加和删除隐藏字段数组中的值,而不提交表单
- 从数组中删除重复条目,并在javascript中按顺序排列
- 一些元素没有从数组中删除
- 删除JS数组中的最小数字
- 从数组中删除三元组项
- 删除重复的数组值,然后存储它们[反应]
- 在特定索引处剥离/删除数组中的值
- 数组删除重复结果Javascript
- 字符串替换或通过数组删除
- js中的对象数组:删除重复项
- KnockoutJS.Mapping.FromJS-可观察数组-删除不起作用
- 用于垃圾收集的Javascript数组删除
- 为什么”——数组.删除数组的最后一个元素
- PHP循环通过脚本数组&删除项目
- 谷歌地图API:试图使用数组删除多个标记
- 带有for循环+条件的Javascript数组删除不必要的元素
- 在JavaScript中管理像ArrayList这样的数组:删除一个元素并关闭创建的间隙