数组

数组

遍历数组

普通for循环

for(var i = 0; i < 5; i++){
    document.write(arr[i]);
}

for…in语句用于遍历数组或者对象的属性(快速枚举法)

for(var i in arr){
    document.write(arr[i]);
}

数组的方法

栈方法

  1. **push()**方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。
  2. 而**pop()**方法则从数组末尾移除最后一个元素,减少数组的length值,然后返回移除的元素。
alert(box.push("盐城”));  //数组末尾添加一个元素,并且返回长度
box.pop()                //移除数组末尾元素,并返回移除的元素

队列方法

shift()方法可以移除数组首位元素,并且返回长度

alert(box.push("深圳”));      //数组末尾添加一个元素,并且返回长度
alert(box.shift());           //移除数组开头元素,并返回移除元素
alert(box.unshift());         //数组开头添加两个元素

数组的一个函数

  1. concat() 方法可以基于当前数组创建一个新数组。
  2. slice() 方法可以基于当前数组获取指定区域元素 [start, end)
  3. splice() 方法由于其参数的特殊性,可以完成 增、删、改三个功能
splice中的删除功能: 
var box2 = box.splice(0, 2);
splice中的插入功能: 
var box2 = box.splice(1, 0, “钢铁侠”);
splice中的替换功能: 
var box2 = box.splice(1, 1, 100);  
  1. join() 方法用数组元素组成字符串。
  2. reverse() 逆向排序
  3. sort() 从小到大排序,字符串排序

声明提升

在当前作用域,声明变量和函数,会直接提升在整个代码的最前面运行。

如果不加var,会强制提升为全局变量,但这是一个错误语法,不建议使用。

二维数组

数组的值可以是任意类型,如果在数组中添加数组,那就相当与一个二维数组。

严格模式

写在哪个作用域下,在哪个作用域下生效。

​ “use strict”

【注】尽量注意不要严格模式写在全局

用了严格模式,会有什么变化:

  1. 全局变量声明时,必须加var
  2. 函数内重名属性
  3. argument对象不允许被动态修改
  4. 新增保留字:implements, interface, let, package, private, protected, public, static, yield。

严格模式的目的:

  1. 消除JavaScript语法的一些不合理、不严谨之处,减少一些怪异行为;
  2. 消除代码运行的一些不安全之处,保证代码运行的安全;
  3. 提高编译器效率,增加运行速度;
  4. 为未来新版本的Javascript做好铺垫。

【注】"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它。

另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。

ECMA5新增数组方法

indexOf()

​ 格式:数组.index(item,start);

​ 参数:item 任意的数据

​ 第二个参数表示从该字符串的第n位开始检索 可以不传入

​ 功能:在数组中查找第一次出现item元素下标,从start开始去查找

​ 返回值: -1 没有查找到

​ >=0 查找到的元素下标

forEach()循环

var arr = [2, 3, 4, 5, 6, 7]; 
arr.forEach(function(item, index, arr){
 三个参数分别代表 
 item 当期遍历到的元素 
 index 当前遍历到的下标 
 arr 数组本身 
})

map映射

通过return+关系式生成并返回一个新的数组。

filter() 过滤

return + 条件式 ,判断数组内容是否符合条件,过滤掉不符合条件的数组内容。

some() 某些

在数组中查找是否有符合条件的元素,有返回true,没有返回false。

短路操作:只要找到符合条件的元素,后面的循环就停止了。

every 每一个

在数组中查找每一个元素是否有符合条件,符合返回true,不符合返回false。

短路操作:只要找到不符合条件的元素,后面的循环就停止了。

reduce 归并

prev 第一次是 下标为0的元素

​ 第二次开始 上一次遍历return的值

next 从下标1开始,当前遍历到的元素

arr 数组本身

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值