`

javascript 清除数组中的空元素

 
阅读更多
最近在干活的时候发现数组中有空元素,根据需求,要删除这个空元素,可惜的是,javascript并没有提供这么一个方法,找了很多的解决办法,发现都是自己实现的一个函数,以下是我找到的两种方法:
第一种:
Array.prototype.clean = function(deleteValue) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == deleteValue) {         
      this.splice(i, 1);//返回指定的元素
      i--;
    }
  }
  return this;
};

以上方法是为Array对象添加了一个clean方法,方法的功能是清楚指定的元素,那么,如果我们想清除一个空元素的话,可以将这个空元素 ''传递给array,看下例子:
test = new Array("","One","Two","", "Three","","Four").clean("");
test2 = [1,2,,3,,3,,,,,,4,,4,,5,,6,,,,];
test2.clean(undefined);


第二种:
var arr = [1,2,,3,,3,,,0,,,4,,4,,5,,6,,,,];
arr = arr.filter(function(n){return n}); // (javascript 1.6 and above)
arr // [1, 2, 3, 3, 4, 4, 5, 6]


以上方法用的是javascrript的filter函数,用法:
var filteredArray = array.filter(callback);

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。就是说,这个函数会利用已有的数组元素来创建新的数组,但是新的数组中的元素只能是已有数组中非空的元素或者已经赋值的元素。
分享到:
评论

相关推荐

    在javascript中,如果删除二维数组中重复的元素

    在javascript中,如果删除二维数组中重复的元素

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    3、原生JavaScript清除空格 4、原生JavaScript替换全部 5、原生JavaScript转义html标签 6、原生JavaScript还原html标签 7、原生JavaScript时间日期格式转换 8、原生JavaScript判断是否为数字类型 9、原生JavaScript...

    javascript-practice:文章“10 个 Javascript 数组练习”的存储库

    紧凑- 编写一个方法,从所有不必要的元素中清除数组,例如 false、未定义、空字符串、零、null。 fromPairs - 编写一个返回由键值对组成的对象的方法。 without - 编写一个返回没有列出值的数组的方法。 unique - ...

    ArrayUtil:用于杂项的数组实用程序。 但有用的东西

    数组实用程序 数组实用程序使使用数组的工作更容易。 ###Array.prototype.merge 唯一地合并两个数组(即使是对象元素)。... 消除数组中的重复元素。 ###Array.prototype.group 根据元素对象属性创建多维数组。

    JavaScript中的splice()方法使用详解

    howMany : 整数,表示旧数组元素数去除。如果的howmany为0,没有元素被删除。 element1, …, elementN : 元素添加到数组。如果不指定任何元素,拼接只需删除该数组中的元素。 返回值: 返回基于传递的参数提取数组...

    java源码包2

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    search-algos-exercises

    在JavaScript中实现搜索算法线性搜寻在计算机科学中,线性搜索或顺序搜索是一种用于在列表中查找特定值的方法,该列表按顺序检查每个元素,直到找到所需的元素或列表用尽为止。二元搜寻二进制搜索算法首先将目标值与...

    tastebile:日常代码归类整理总结学习

    fixed 的问题Javascript整理学习js知识,夯实基础 JavaScript编码规范 字符串的基本操作方法 JS获取URL中参数值(QueryString)的方法 对字符串中进行转义的 escapehtml 的函数 js基础之数组操作 数组的检测方法 ECM...

    tick:Tick是一个JavaScript插件,可让您轻松直观地看到动态变化的数字

    实例方法注意: $().ticker始终返回Tick实例的数组,因此请始终在该数组的元素上调用这些方法! start渲染并启动Tick实例。 返回实例的计时器;如果实例已经在运行,则返回undefined 。 stop停止Tick实例并清除计时...

    javascript的delete运算符知识点总结

    delete是一元操作符,它用来删除对象属性或者数组元素。就像 赋值、递增、递减运算符一样,delete也是具有副作用的,它是用来做删除操作的,不是用来返回一个值的,例如: var o = { x: 1, y: 2}; // 定义一个对象...

    angular-click-outside:一个角度指令,用于检测元素范围之外的单击,非常适合在滑入式菜单和下拉菜单之外单击

    近期变动缩短了Bower说明,以消除安装时的Bower警告(感谢 ) 感谢的拉取请求将事件传回回调函数感谢的改进,现在允许该指令不再需要元素上的id才能起作用添加了基本的ngdocs文档删除了添加元素ID到类数组中的步骤,...

    超实用的jQuery代码段

    2.10 如何从元素中除去HTML标签 2.11 如何限制文本域中字符的个数 2.12 如何选中页面上的所有复选框 2.13 禁用表单的回车键提交 2.14 禁用右键单击上下文菜单 2.15 IE下禁用文本选择功能 2.16 输入框获取焦点时文本...

    ASP.NET编程之道.part1.rar

    谬误20 必须在页面添加元素才能使用CSS文件中的样式 第3篇 技术细节篇 第5章 必知必会的40个C#语言方面的技术细节 细节01 给C#代码加注释的意义 细节02 装箱和拆箱 细节03 理解值类型和引用类型 细节04 隐式转换和...

    Speed_Typer2

    传入空字符串,它将把我们的字符串转换为一个数组,其中每个单独的字符都是该数组中的一个元素 .forEach()-遍历该数组,在这里我们可以为这些字符中的每个字符做一些事情 const characterSpan = document....

    正则表达式

    这些复杂的模式使用的正则表达式语法指定了该表达式中每个元素要重复出现的次数. 指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的...

    javaScript-08-gallery:单元8-冒泡事件健谈事件。 交叉口观察员

    Gallery可以单击其元素并在模式窗口中查看完整尺寸的图像: 将一个脚本连接到另一个脚本。 使用提供的模板基于数据数组创建和呈现标记。 在ul.js-gallery画廊上实现委派,并获取大图像的url。 通过单击图库项目...

    perfmatters:前端纳米学位项目4

    请访问代码优化-views / js / main.js 消除抖动滚动事件:通过将请求的标志与requestanimationframe一起使用,确保updatePosition仅被排队一次最小化DOM访问:将DOM节点存储到数组中以保存对DOM元素的引用,然后使用...

    PHP程序开发范例宝典III

    实例036 在下拉菜单中显示数组中的元素 51 实例037 级联菜单的应用 52 实例038 修改数据时下拉列表的默认值为数据库中原数据信息 54 实例039 可输入字符的下拉菜单 56 实例040 应用下拉列表选择所要联机的...

    project-tictactoe:井字游戏

    项目1:井字游戏 堆 10%HTML,10%CSS和80%的Javascript。 方法 2D数组并使用多个条件来确定获胜游戏...需要能够通过jQuery清除木板元素。 线框图像 用户故事 我大部分时间都花在JavaScript部分上,试图找出2D数组。

    TabTrails

    在一个标签内,收集页面之间的导航,包括确定我们如何通过进入当前页面点击链接在位置栏中输入网址通过后退或前进按钮收集标签的创建和关闭收集窗口创建和关闭我们可以开始,继续和停止收集清除以前收集的数据以...

Global site tag (gtag.js) - Google Analytics