Dim*_*ims 2 javascript undefined multidimensional-array
在javascript中从多维稀疏数组中删除元素的最便携方法是什么?
如果行有时可能未定义,那么下面的工作是否正常?
if( content[row] ) {
delete content[row][col];
}
Run Code Online (Sandbox Code Playgroud)
这会有效,会更好吗?
if( r=content[row] ) {
delete r[col];
}
Run Code Online (Sandbox Code Playgroud)
这取决于.delete将在元素所在的数组中留下一个空格,如下所示:
var arr = [0, 1, 2, 3];
delete arr[1];
arr; // [0, undefined, 2, 3]
Run Code Online (Sandbox Code Playgroud)
要从数组中删除元素而不留下空洞,您应该使用splice():
arr.splice(1, 1); // Start deleting at index 1, delete one element
arr; // [0, 2, 3]
Run Code Online (Sandbox Code Playgroud)
您的两个示例都可以正常工作 - 如果content[row]不存在,if则不会评估语句的正文.