省略数组值

在声明数组时,省略一些数组值

let a = [1,,3]  //a.length为3
a = [,,] //a.length为2
0 in a //false,a在索引0处没有元素

稀疏数组

稀疏数组时指包含从0开始的不连续索引的数组。如果数组是稀疏的,则length属性值大于元素的个数

a = new Array(5);   //数组没有元素但length为5
a = []; //创建一个空数组,length=0
a[1000] = 0; //赋值添加一个元素,length为1001

数组长度有两个特性,一是它总是大于每个元素的索引值,二是当数组长度小于等于某些元素索引值时会删除这些元素。

let arr = [1,2,3,4,5];  // 从5个元素的数组开始
arr.length = 3; //现在的arr为[1,2,3]
arr.length = 0; //删除所有的元素,arr为[]
arr.length = 5; //长度为5,但是没有元素,就像new Array(5)

filter,every,some,reduce,reduceRight

filter类似于forEach和map,都是对数组进行循环,但filter()会跳过稀疏数组中缺少的元素,所以它的返回数组总是稠密的。

let arr = [1,,2,3];
some = arr.filter(function(x){return x < 2}); //[1]

every()方法就像数学中的∀

let arr = [1,2,3,4]
arr.every(function(x){return x > 0;}) //true
arr.every(function(x){return x % 2 === 0;}) //false

some()方法就像数学中的∃

let arr = [1,2,3,4]
a.some(function(x){return x > 10;}) //false
a.some(function(x){return x % 2 === 0;}) //true

reduce和reduceRight十分类似都是使用指定的函数将数组元素进行重新组合,不过reduceRight是按索引从高到底进行。

//数组求和
let sum = arr.reduce(function (x, y) {
return x + y;
},0);
//数组求最大值
let max = arr.reduce(function (x, y) {
return Math.max(x,y);
});
//数组去重
var newArr = arr.reduce(function (x, y) {
x.indexOf(y) === -1 && x.push(y);
return x;
},[]);

最新文章

  1. 项目游戏开发日记 No.0x000003
  2. selenium python 安装
  3. JavaScript中的闭包和匿名函数
  4. 轻松搭建Unity3D 安卓Android开发环境
  5. .NET 框架基本原理透析⑴
  6. ubuntu bless 16字节每行
  7. C#使用基类的引用 and 虚方法和覆写方法
  8. css3制作滚动按钮
  9. stm32f103 SPI单线TX发数据来驱动LCD
  10. hduAnother Graph Game
  11. Hierarchical Storage structure
  12. 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)
  13. Android 夜间模式changeskin小结
  14. 【转】GAMITBLOBK中固定解、浮点解、约束解、松弛解等解类型解释
  15. 将选中的物体写入XML文件
  16. java实现wc.exe
  17. 思科4506E做ehterchannel故障排查
  18. .Net中EF通用数据层小结
  19. rsync详细配置
  20. Java RMI 概观

热门文章

  1. $UVA10559\ Blocks\ $区间$dp$
  2. 「Luogu P3183」[HAOI2016]食物链 解题报告
  3. 应届生/社招面试最爱问的几道Java基础问题
  4. OpenLayers4 隐藏(hide)Feature
  5. es6 面向对象选项卡(自动轮播功能)
  6. 恕我直言,牛逼哄哄的MongoDB你可能只会30%
  7. linux入门系列7--管道符、重定向、环境变量
  8. SpringCloud组件和概念介绍(一)
  9. 关于爬虫的日常复习(8)—— 实战:request+正则爬取猫眼榜单top100
  10. 关于爬虫的日常复习(2)—— urllib库