在javascript中,从多维数组中删除元素的最便携的方法是什么?
What is the most portable way to delete element from multidimensional array in javascript?
在javascript中删除多维稀疏数组元素的最可移植的方法是什么?
将以下工作很好,如果行可以定义有时?
if( content[row] ) {
delete content[row][col];
}
这会有效吗?会更好吗?
if( r=content[row] ) {
delete r[col];
}
看情况。delete
将在元素所在的数组中留下空白,如下所示:
var arr = [0, 1, 2, 3];
delete arr[1];
arr; // [0, undefined, 2, 3]
要从数组中删除一个元素而不留下空洞,您应该使用splice()
:
arr.splice(1, 1); // Start deleting at index 1, delete one element
arr; // [0, 2, 3]
你的两个例子都工作得很好-如果content[row]
不存在,if
语句的主体将不会被评估。
您不仅需要删除元素,还需要调整数组的长度。
我通常将数组中最后一个元素的索引设置为被替换的元素,删除最后一个元素,并减少长度。它很快,但不保留数组的结构。
这是我正在制作的GameAPI的摘录:
a是数组,I是索引
removeAt : function(a, i) {
//Removes an element in array
if(!(a.length>i)) return false;
delete a[i];
a[i] = a[a.length-1];
delete a[a.length-1];
a.length--;
return true;
}
相关文章:
- 打破承诺链的好方法是什么
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- knex:根据结果创建数组的合适方法是什么
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 使用Modernizr检测移动设备最可靠的方法是什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 让会话值可用于JavaScript的好方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 直接在DOM事件处理程序中调用作用域函数的最短方法是什么