JS基础之数组,数组操作

数组Array

  • 数组也是一个对象
  • 与普通对象一样,存储值
  • 索引操作数组,不同于一般属性,属性名操作
  • 数组存储性能比普通对象好,所以开发者多用数组
创建数组

var arr = new Array();
new Array(10,2,3):创建并且添加元素
new Array(10):这表示创建一个长度为10 的数组
使用字面量创建数组,可以在创建时就添加元素
var arr = [];

向数组添加元素

arr[arr.length] = 123
这个方法始终会向数组的最后添加一个元素

Array的方法
  • push

    1. 该方法可以像数组末尾添加一个或多个元素,并返回数组的新长度。
    2. 可以将要添加的元素作为参数传入方法。
  • pop

    1. 该方法可以删除数组的最后一个元素,并且返回被删除的元素。
  • unshift

    1. 像数组的开头添加一个或多个元素,并返回新的数组长度
  • shift

    1. 删除数组的第一个元素,返回被删除的元素
  • slice

    1. 提取数组中指定元素
    2. 参数为(start,end)开始位置,结束为止索引,end为开区间
    3. 不会影响元素组,可将截取元素返回存储
    4. 直接截取到末尾第二个参数可以不写,end可以取负数,表示倒数第几个
  • splice

    1. 删除数组中的制定元素,语法与splice相似
    2. 参数(start,number)开始位置和删除的数量
    3. 参数(start,number,元素1,元素2)之后的参数将作为数组的新元素添加进数组
  • concat

    1. 合并两个数组,不会对原数组产生影响
    2. 参数(arr,arrr,“yu”,“元素” …)
  • join

    1. 将数组转换为字符串
    2. 参数()或者("+")==> 变为字符串:“元素1+元素2+元素3”
  • reverse

    1. 用于反转一个数组
    2. 会影响原数组
  • sort

    1. 对数组进行排序
    2. 会影响原数组,按照unicode编码进行排序
    3. 即使是纯数字排序也会使用Unicode编码,可能会出现错误
    4. 可以在sort中制定一个回调函数来制定排序规则
      浏览器会根据返回值来决定元素的顺序:返回大于0,元素交换位置,否则不交换
      语法:
arr.sort(function(a,b){
     
	// 排序规则
	if a> b
		return 1;
	else 
		return 0;
	// 或者:升序排列,返回a-b,否则返回b-a
	// return a-b
})
数组遍历
  1. for循环
  2. foreach:只在IE8以上的浏览器支持
    注意:foreach里面的return不会终止循环
    语法:
arr.forEach(function(){
     
	//执行语句,arr中有多少个元素,这函数就会执行几次。
	....
	if(语句)  // 循环依然会执行数组长度的次数
		return 0});

some和foreach的区别
some中的return可以终止循环,foreach不能终止循环

arr.some(function(value){
     
	//语句
	if(语句)   // 会终止循环
		return;
})
  • forEach()方法需要一个函数作为参数
    像这种函数,由我们创建,但是不由我们调用,就成为回掉函数。浏览器会在回调函数中传入三个参数
    1. 第一个参数是当前遍历元素的值
    2. 第二个参数是索引
    3. 第三个参数是正在遍历的数组

你可能感兴趣的:(javascript)