删除JavaScript或Typescript中数组数组中的对象
我正在尝试删除/删除位于数组A中x位置的对象,从而使数组A位于另一个数组中,如下所示:删除JavaScript或Typescript中数组数组中的对象,javascript,arrays,typescript,object,Javascript,Arrays,Typescript,Object,我正在尝试删除/删除位于数组A中x位置的对象,从而使数组A位于另一个数组中,如下所示: var lol = [ [ {'a':1}, {'b':2}, {'c':3} ], [ {'d':4}, {'e':5}, {'f':6}
var lol = [
[
{'a':1},
{'b':2},
{'c':3}
],
[
{'d':4},
{'e':5},
{'f':6}
],
[
{'g':7},
{'h':8},
{'i':9}
]
];
现在让我们假设我想删除带有键'f'
的对象。我有一个
function deleteNestedElement(outerIndex, innerIndex) {
lol[outerIndex].splice(0, innerIndex);
}
随叫随到
deleteNestedElement(2,0);
alert(lol);
我得到的结果如下:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
这是我的
我需要根据需要从此数组中删除特定元素。要删除项目,需要索引(第一个参数)和要删除的项目数(第二个参数)。您传递了0和0-从索引0中删除0项,因此未删除任何内容
此外,alert()
将JS对象转换为字符串,这就是您看到的。改用console.log()
函数deleteNesteElement(outerIndex,innerIndex){
lol[outerIndex].拼接(innerIndex,1);
}
var lol=[{“a”:1}、{“b”:2}、{“c”:3}、{“d”:4}、{“e”:5}、{“f”:6}、{“g”:7}、{“h”:8}、{“i”:9}];
删除嵌套元素(1,2);//这将删除“f”对象
删除嵌套元素(2,0);//这将删除“g”对象
控制台日志(lol)代码>要删除项目,需要索引(第一个参数)和要删除的项目数(第二个参数)。您传递了0和0-从索引0中删除0项,因此未删除任何内容
此外,alert()
将JS对象转换为字符串,这就是您看到的。改用console.log()
函数deleteNesteElement(outerIndex,innerIndex){
lol[outerIndex].拼接(innerIndex,1);
}
var lol=[{“a”:1}、{“b”:2}、{“c”:3}、{“d”:4}、{“e”:5}、{“f”:6}、{“g”:7}、{“h”:8}、{“i”:9}];
删除嵌套元素(1,2);//这将删除“f”对象
删除嵌套元素(2,0);//这将删除“g”对象
控制台日志(lol)
函数将第一个参数作为索引
,将第二个参数作为要删除的元素数。在我们的例子中,它应该是splice(innerIndex,1)
,因为我们需要删除特定索引(即innerIndex)中的1个元素
此外,数组的索引从0开始,因此对于数组中的第二项,您需要为outerIndex传递1,为innerIndex传递2,如DeleteNesteElement(1,2)
varlol=[[{“a”:1},{“b”:2},{“c”:3}],{“d”:4},{“e”:5},{“f”:6}],{“g”:7},{“h”:8},{“i”:9}];
函数deleteNesteElement(outerIndex,innerIndex){
lol[outerIndex].拼接(innerIndex,1);
}
删除嵌套元素(1,2);
控制台日志(lol)
函数将第一个参数作为索引
,将第二个参数作为要删除的元素数。在我们的例子中,它应该是splice(innerIndex,1)
,因为我们需要删除特定索引(即innerIndex)中的1个元素
此外,数组的索引从0开始,因此对于数组中的第二项,您需要为outerIndex传递1,为innerIndex传递2,如DeleteNesteElement(1,2)
varlol=[[{“a”:1},{“b”:2},{“c”:3}],{“d”:4},{“e”:5},{“f”:6}],{“g”:7},{“h”:8},{“i”:9}];
函数deleteNesteElement(outerIndex,innerIndex){
lol[outerIndex].拼接(innerIndex,1);
}
删除嵌套元素(1,2);
控制台日志(lol)代码>如果在函数调用之前发出警报(lol),则会得到相同类型的输出。您正在提醒对象,而不是字符串,因此您的输出将是这样。请改为尝试执行console.log,或使用浏览器调试工具。您需要详细了解splice()
的工作原理。另外,使用alert()
对于objects@charlietfl,谢谢,我想知道splice是否对阵列做了什么,这就是为什么它在警报中是这样的。我现在明白了。你怎么知道当你看不到每个物体里都有什么?登录到控制台可以让您看到更改如果在函数调用之前发出警报(lol),您将获得相同类型的输出。你是在提醒对象,而不是字符串,所以这就是你的输出。请改为尝试执行console.log,或使用浏览器调试工具。您需要详细了解splice()
的工作原理。另外,使用alert()
对于objects@charlietfl,谢谢,我想知道splice是否对阵列做了什么,这就是为什么它在警报中是这样的。我现在明白了。你怎么知道当你看不到每个物体里都有什么?登录到控制台可以查看更改