JavaScript中利用Array filter() 方法压缩稀疏数组
什么是稀疏数组
数组元素的索引不一定要连续的,它们之间可以有空缺。每个javaScript数组都有一个length属性。针对非稀疏数组,该属性就是数组元素的个数;针对稀疏数组,length比所有元素的个数要大。
Array filter() 方法会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的。
(1)压缩稀疏数组的空缺:
var dense = sparse.filter( function(currentValue) { return true; } );
(2)压缩稀疏数组的空缺,并且删除 undefined 和 null 元素:
var dense = sparse.filter( function(currentValue) { return currentValue !== undefined && currentValue!= null; } )
总结
以上所述是小编给大家介绍的JavaScript中利用Array filter() 方法压缩稀疏数组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
您可能感兴趣的文章:
- javascript稀疏数组(sparse array)和密集数组用法分析
- JavaScript中的稀疏数组与密集数组[译]
相关推荐
-
JavaScript中的稀疏数组与密集数组[译]
1.稀疏数组 创建一个指定长度的稀疏数组很简单: 复制代码 代码如下: > var a = new Array(3); > a [ , , ] > a.length 3 > a[0] undefined 当你遍历它时,你会发现,它并没有元素.JavaScript会跳过这些缝隙. 复制代码 代码如下: > a.forEach(function (x, i) { console.log(i+". "+x) }); > a.map(function (x,
-
javascript稀疏数组(sparse array)和密集数组用法分析
本文实例讲述了javascript稀疏数组(sparse array)和密集数组用法.分享给大家供大家参考,具体如下: 学习underscore.js数组相关API的时候,遇到了sparse array这个东西,以前没有接触过. 这里学习下什么是稀疏数组和密集数组. 什么是密集数组呢?在Java和C语言中,数组是一片连续的存储空间,有着固定的长度.加入数组其实位置是address,长度为n,那么占用的存储空间是address[0],address[1],address[2].......addr
-
JavaScript中利用Array filter() 方法压缩稀疏数组
什么是稀疏数组 数组元素的索引不一定要连续的,它们之间可以有空缺.每个javaScript数组都有一个length属性.针对非稀疏数组,该属性就是数组元素的个数:针对稀疏数组,length比所有元素的个数要大. Array filter() 方法会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的. (1)压缩稀疏数组的空缺: var dense = sparse.filter( function(currentValue) { return true; } ); (2)压缩稀疏数组的空缺,并且删
-
JavaScript中利用Array和Object实现Map的方法
本文实例讲述了JavaScript中利用Array和Object实现Map的方法.分享给大家供大家参考.具体如下: 昨天突然看到以前别人用JavaScript实现的Map感觉很不错,但是发现有个别方法有问题,顺便完善了下,添加了 remove .indexOf .values.clear等方法. /** * @author blune68 * @version 0.1, 07/27/12 * */ function Map(){ this.keys = new Array(); this.dat
-
JavaScript中find()和 filter()方法的区别小结
目录 前言 JavaScript find() 方法 JavaScript filter() 方法 find() 和 filter() 的区别与共点 直接上代码 总结 前言 JavaScript 在 ES6 上有很多数组方法,每种方法都有独特的用途和好处. 在开发应用程序时,大多使用数组方法来获取特定的值列表并获取单个或多个匹配项. 在列出这两种方法的区别之前,我们先来一一了解这些方法. JavaScript find() 方法 ES6 find() 方法返回通过测试函数的第一个元素的值.如果没
-
Javascript中关于Array.filter()的妙用详解
前言 和map类似,Array的filter也接收一个函数.但是和map不同的是, filter把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素. 实例介绍 例如,在一个Array中,删掉偶数,只保留奇数,可以这么写: var arr = [1, 2, 4, 5, 6, 9, 10, 15]; var r = arr.filter(function (x) { return x % 2 !== 0; }); r; // [1, 5, 9, 15]
-
JavaScript中扩展Array contains方法实例
javascript的Array没有contains方法,有时候这会不方便,contains方法实现很简单: 复制代码 代码如下: function contains(a, obj) { var i = a.length; while (i--) { if (a[i] === obj) { return true; } } return false; } 当然我们也可以扩展Array类,如下js 复制代码 代码如下
-
javascript中利用柯里化函数实现bind方法【推荐】
• 柯理化函数思想:一个js预先处理的思想:利用函数执行可以形成一个不销毁的作用域的原理,把需要预先处理的内容都储存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进行相关的操作处理即可: • 柯里化函数主要起到预处理的作用: • bind方法的作用:把传递进来的callback回调方法中的this预先处理为上下文context; /** * bind方法实现原理1 * @param callback [Function] 回调函数 * @par
-
javascript 中关于array的常用方法详解
javascript 中关于array的常用方法 最近总结了一些关于array中的常用方法, 其中大部分的方法来自于<JavaScript框架设计>这本书, 如果有更好的方法,或者有关于string的别的常用的方法,希望大家不吝赐教. 第一部分 数组去重,总结了一些数组去重的方法,代码如下: /** * 去重操作,有序状态 * @param target * @returns {Array} */ function unique(target) { let result = []; loop:
-
JavaScript中遍历的十种方法总结
1.while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(i<10){ console.log(i) i++ } 2.do...while循环 与while相似,但是他会先执行一次,再做判断条件 var i=0 do{ console,log(i) i++ }while(i<10) 3.for循环 var arr = [0,1,2,3] for(let i = 0;i < arr.length;i++){ console
-
JavaScript中Object.prototype.toString方法的原理
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Object.prototype.toString.call(arr)) //"[object Array]" 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下: 15.2.
-
数据排序谁最快(javascript中的Array.prototype.sort PK 快速排序)
但是让我感到意外的是,下面有个网友回复说,javascript中的Array本身的sort方法才是最快的,比快速排序算法都快,当时看到了很是郁闷,因为当时花了好长时间在排序算法上,居然忘记了Array本身的sort方法 不过javascript中内置的sort方法真的比快速排序算法还快吗? 哈哈,测试一下不就知道了 先说一下我测试的环境 1,我的测试环境是IE6.0和firefox2.0 2,每种算法有很多种不同的实现方法,下面测试中我选择上面网友实现的快速排序算法,只是把内嵌函数搬到了外面 3
随机推荐
- VBS实现DOC转为文本文档的代码
- Centos下安装docker教程
- 详解Java单元测试Junit框架实例
- ORACLE时间函数(SYSDATE)深入理解
- asp.net StreamReader 创建文件的实例代码
- JS实现元素上下左右移动效果
- php中DOMElement操作xml文档实例演示
- 深入理解双指针的两种用法
- 淘宝搜索框效果实现分析
- CSS锦囊
- 论坛20大经典变态楼主主题和回复,暴强!
- 电脑族的视力保健明目养目食谱
- Linux Shell 常见的命令行格式简明总结
- JavaScript基础语法让人疑惑的地方小结
- js实现新浪微博首页效果
- WeakHashMap的使用方法详解
- C语言银行储蓄系统源码
- iOS使用xib手动实现动画效果的方法
- PHP的简单跳转提示的实现详解
- Win10 系统下快速搭建mxnet框架cpu版本