javascript - 这是处理空数组的最佳方法
问题描述
以下是将数组设置为空的两种方法:
方法一:
var arr = [2,3];
arr = [];
arr.map(x => {
console.log(x);
})
方法二:
var arr = [2,3];
arr = null;
if(arr != null) {
arr.map(x => {
console.log(x);
})
}
这两种方法都有效。但是,在为 Visualisations 处理大型数据集和复杂数组时,会发生许多事件,该数组会发生修改,我不确定该走哪条路。
编辑:对不起,我上面的解释很糟糕。下面是我在 d3 中展开/折叠树视图的树节点的代码,如下所示。在下面的代码中,如果在设置为 null 时setNodePositions()
检查数组的长度d.children
,则会引发错误。但是toggleChildren()
如果你设置了d.children = []
则不会引发错误。所以,我想知道选择一个而不是另一个可能会导致性能问题或以后出现一些不需要的行为。问题更多是为了获得有关该主题的一些知识。如果我设置d.children = []
而不是将其设置为空,则代码有效。
function toggleChildren(d) {
if(d.children) {
d._children = d.children;
d.children = null;
} else if(d._children) {
d.children = d._children;
d._children = null;
}
setNodePositions();
render(plotter);
}
解决方案
另一种方式可能是
let arr = [2, 3];
if(arr.length != 0){
// do something
}
推荐阅读
- python - Pandas:查找每个间隔中最大连续零计数的平均值
- javascript - 为什么即使最大宽度设置为 100%,我的 (json) 图像也会超出边界/容器?
- angular - Angular Reactive Form - 验证不起作用
- mysql - 如何在MySql中同时编写删除和更新查询的过程
- spring-boot - 有没有办法打印对象的值?
- html - 在 django 模板中显示 excel 文件
- jdbc - 我们可以使用 JDBC 连接器在 Power BI 中获取数据吗
- excel - Excel 2010 电子邮件 VBA 发送整个工作簿
- ios - 如何在加载 CollectionView 2-3 秒后仅显示 collectionView 的选定单元格
- javascript - 如何使用脚本在没有发布请求的情况下登录网站