从Java数组中删除空元素

电脑杂谈  发布时间:2020-03-21 14:09:34  来源:网络整理

js数组删除元素_js清空数组_js数组清空所有元素

?

蓝山皇帝

当时是Array.prototype.

现在,我建议您使用过滤器方法.

请记住,此方法将返回一个新的元素数组,这些数组可以通过回调函数的条件,例如,如果要删除null或未定义的值:

var array = [0,1,null,2,“”,3,undefined,3 ,,,,,, 4 ,, 4 ,, 5 ,, 6 ,,,,];

varfiltered = array.filter(function(el){

返回el! = null;

});

console.log(已过滤);

这将取决于您认为什么是“空”,例如,如果您正在处理字符串,则上述函数不会删除空字符串的元素.

我经常看到的一种常见模式是消除以下虚假元素,包括空字符串. “”js数组清空所有元素,0,NaN,null,undefined和false.

您可以简单地传递给filter方法,布尔构造函数,或者简单地在filter condition函数中返回相同的元素,例如:

js清空数组_js数组清空所有元素_js数组删除元素

var过滤= array.filter(布尔值);

或

varfiltered = array.filter(function(el){return el;});

这两个方法都是有效的,因为在第一种情况下,filter方法将调用Boolean构造函数以转换值. 在第二种情况下,filter方法将回调的返回值隐式转换为布尔值.

如果要处理稀疏数组并尝试消除“漏洞”,则可以简单地使用filter传递返回true的回调,例如:

var sparseArray = [0 ,,, 1 ,,,,, 2 ,,,, 3],

cleanArray = sparseArray.filter(function(){return true});

console.log(cleanArray); // [0,1,2,3]

查看完整答案

?

木霞2389804

简单方法:

var arr = [1,2 ,, 3 ,,-3,null ,, 0 ,, undefined,4 ,, 4 ,, 5 ,, 6 ,,,,];

js数组清空所有元素_js清空数组_js数组删除元素

arr.filter(n => n)

// [1、2、3,-3、4、4、5、6]

arr.filter(数字)

// [1、2、3,-3、4、4、5、6]

arr.filter(布尔值)

// [1、2、3,-3、4、4、5、6]

或-(仅适用于单个工厂类型为“文本”的数组项)

['','1','2',3 ,,'4',, undefined ,,,'5']. 加入(''). 分割('');

//输出: [“ 1”,“ 2”,“ 3”,“ 4”,“ 5”]

或经典方法: 简单迭代

var arr = [1,2,null,undefined,3 ,, 3 ,,,0 ,,, [] ,, {} ,, 5,6 ,,,,],

len =长度长度,i;

对于(i = 0;我

js清空数组_js数组清空所有元素_js数组删除元素

arr [i] && arr.push(arr [i]); //将非空值复制到数组的末尾

arr.splice(0,len); //剪切数组并仅保留非空值

arr // [1,2,3,3,[],Object {},5,6]

通过jQuery:

var arr = [1,2 ,, 3 ,, 3 ,, 0 ,,, 4 ,, 4 ,, 5,6,6 ,,,];

arr = $ .grep(arr,function(n){return n == 0 || n});

arr // [1、2、3、3、0、4、4、5、6]

更新-另一种快速而酷的方式(使用ES6):

var arr = [1,2,null,undefined,3 ,, 3 ,,, 0 ,,, 4 ,, 4 ,, 5,6 ,,,,],

temp = [];

为(让我为arr)

i && temp.push(i); //将每个非空值复制到'temp'数组

arr = temp;

js数组清空所有元素_js清空数组_js数组删除元素

删除温度; //放弃变量

arr // [1、2、3、3、4、4、5、6]

删除空值

['foo','',,,''js数组清空所有元素,null,'',3,true,[],[1],{},未定义,()=>()]. 过滤器(String)

// [“ foo”,null,“”,3,true,[1],对象{},未定义,()=> {}]

查看完整答案

?

拉莫斯之舞

如果您需要删除所有空值(“,NULL,undefined和0):

arr = arr.filter(function(e){return e});

要删除空值和换行符:

arr = arr.filter(function(e){ return e.replace(/(\r\n|\n|\r)/gm,"")});

示例:

arr = ["hello",0,"",null,undefined,1,100," "]  arr.filter(function(e){return e});

返回:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-147239-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 间岛淳司
        间岛淳司

        应该是美国人都不是好东西

      • 冯道
        冯道

        还拿中国和朝鲜比

      • 扎西拉姆
        扎西拉姆

        逼着柳传志再度出山

      热点图片
      拼命载入中...