|
|
1
1508
简单方法:
或-(仅适用于 仅有一个的 “文本”类型的数组项
更新-只是另一种快速、酷的方式(使用ES6):
删除空值
|
|
|
2
1374
编辑:
这个问题在大约九年前就得到了回答,当时世界上没有多少有用的内置方法
现在,当然,我建议您使用
请记住,此方法将返回给您 通过您提供给它的回调函数的条件的元素。
例如,如果要删除
这将取决于你认为是“空”的,例如,如果你在处理字符串,上面的函数就不能移除空字符串的元素。
法尔西
,其中包括一个空字符串
你可以转到
这两种方法都有效,因为
旧答案: 别这样! 我使用此方法扩展本机阵列原型:
或者,您可以简单地将现有元素推入其他数组:
|
|
|
3
255
如果需要删除所有空值(“”、null、未定义和0):
在某些情况下,您可能希望在数组中保留“0”并删除任何其他内容(null、undefined和“”),这是一种方法:
返回:
|
|
|
4
141
仅一行:
或使用 underscorejs.org :
|
|
|
5
135
自从
上面链接的MDN页面还包含一个不错的错误检查版本
请注意,这不会删除
|
|
|
6
98
要移除孔,应使用
注:
|
|
|
7
59
这是一个干净的方法。
|
|
|
8
42
|
|
9
41
ES6:
|
|
|
10
33
实际上,你可以使用
答案可能是以下两种方式之一:
|
|
11
22
带下划线/Lodash: 一般用例:
|
|
|
12
16
如果使用库是一个选项,我知道下划线.js有一个名为compact()的函数 http://documentcloud.github.com/underscore/ 它还有其他一些与数组和集合相关的有用函数。
|
|
|
13
15
@阿尔尼塔克 实际上,如果添加一些额外的代码,Array.filter可以在所有浏览器上工作。见下文。
这是您需要为IE添加的代码,但是过滤器和函数编程是值得的。
|
|
|
14
14
因为没有其他人提到它,而且大多数人在他们的项目中都包含下划线,所以您也可以使用
|
|
|
15
8
您可能会发现,与按照建议尝试循环和拼接相比,在阵列上循环并使用要保留的项目构建新阵列更容易,因为在循环过程中修改阵列的长度可能会带来问题。 你可以这样做:
实际上,这里有一个更通用的解决方案:
|
|
|
16
6
关于这个(ES6):从数组中删除Falsy值。
|
|
|
17
6
|
|
|
18
4
当使用上面投票率最高的答案(第一个示例)时,我得到了字符串长度大于1的单个字符。下面是我解决这个问题的方法。
如果未定义,则不返回,如果长度大于0,则返回。希望这能帮助别人。
|
|
19
3
我只是将我的声音添加到上述ES5的通话中
具体来说,ES5的
然而,写出来
|
|
20
3
|
|
|
21
3
删除所有空元素
简单压缩(从数组中删除空元素)
使用纯Javascript->
|
|
22
3
|
|
|
23
2
|
|
|
24
2
另一种方法是利用数组的length属性:在数组的“左侧”打包非null项,然后减少长度。 它是一个就地算法,不分配内存,对垃圾收集器来说太糟糕了,并且它具有非常好的最佳/平均/最坏情况行为。 http://jsperf.com/remove-null-items-from-array 下面的代码将不可枚举的“removeNull”方法添加到数组中,该数组为菊花链返回“this”:
|
|
|
25
1
这是有效的,我在实验室测试过 AppJet
|
|
|
26
1
返回
|
|
27
1
“误用”用于。。。在(对象成员)循环中。 =>只有真实值出现在循环体中。
|
|
|
28
1
https://lodash.com/docs/4.17.4#remove
|
|
29
1
它将从数组中删除空元素并显示其他元素。 |
|
|
30
1
只需使用
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |