js 数组(1) (数组相关API)

数组:一组变量的集合。

数组/声明数组

  1. 字面量方式:var person = [2];
  2. 构造函数方式:var arr = new Array(); // 若括号内只有一个数值参数,改参数表示数组有几个空元素;若包含几个参数,这些参数即为数组元素
  3. 获取数组长度:arr.length
  4. 指定修改第5个元素的值:arr[4] = ' 啥?';
  5. 越界获取数组元素,即获取当前数组中不存在的元素:返回undefined
  6. 越界添加数组元素:即修改当前数组中不存在的元素相当于添加元素:var arr = [1,3,4,6];// 数组长度为4; arr[5] = '0';  此时数组的长度相当于下标5+1即为6,未被赋值的元素显示为空

判断是否是数组:Array.isArray(); //  var data = [ 1,3,4,7,4,6,3 ];  var isArr = Array.isArray(data); ==> 是数组返回true,否则返回false;

遍历数组:

//val1 = arr[2];     一维数组: 获取数组arr中的下标为2的元素
//val2 = arr[2][3];  二维数组: 获取数组中第3个数组元素中的下标为3的元素
//遍历一维数组
var val1 = [23, 3, 3, 64, 4, 56];
for(var i = 0; i < val1.length; i++){
  console.log('val1 ==> [' + i + ']:', val1);  
}
//遍历二维数组
var val2 = [
    [23, 3, 98, 64, 4, 56],
    [23, 6, 3, 64, 45, 6],
    [23, 23, 3, 64, 34, 66]
];
for(var i = 0; i < val2.length, i++){
    for(var j = 0; j < val2[i].length; j++){
        console.log(val2[i][j]);
    }
}

API:应用程序接口

数组元素相关API

         var arr = [23,34,54,67,2,5,26]; 

  1. push():从数组尾部添加一个元素,修改原数组  arr.push(24);  //  先进先出
  2. pop():从数组尾部弹出一个元素,修改原数组  arr.pop();  //  先进先出
  3. unshift():从数组头部添加一个元素,修改原数组  arr.unshift(24); //  先进后出
  4. shift():从数组头部弹出一个元素,修改原数组  arr.shift();  // 先进后出
  5. indexof(value,index):查找元素,找到则返回元素的下标,找不到则返回-1; 如: arr.indexof(23);   IE8不支持此方法,可自行封装类似方法使用; 含有两个形参:value查找的元素,index开始查找的位置(可选)
  6. splice(m[ , n ]):删除数组的元素,m(支持负数,-1表示数组最后一个元素,-2 为数组倒数第二个元素,以此类推):开始删除的位置,n:删除几个,修改原数组,返回新数组;中括号[ , n ] 表示括号内的参数n可传可不传  arr.slipce();
  7. slice(m,[ , n ]):截取元素,m:开始截取下标,n:截取结束下标,即从下标m以后的下标开始截取到下标n(不包括n)的位置结束;不修改原数组,返回一个新数组;   arr.slice();
  8. reverse():颠倒数组元素,不需要参数,修改原数组;arr.reverse();
  9. join( n ):合并数组,n为合并分隔符,一般默认逗号‘,’;返回一个字符串,不修改原数组
  10. concat(数组1 , 数组2 , …… , 数组n):返回一个新数组,不修改原数组
  11. sort():排序,默认情况下按照unicode排序,修改原数组; 
//sort()函数按照自然数大小排列时接收回调函数,含两个参数a,b
var nums = [3, 5, 4, 23, 65, 34, 2, 776, 0, 8];
nums.sort(function(a, b){
    return a - b;//升序
    //return a - b;//降序
});//一维数组排序;

var nums = [
    [3, 5, 4, 23, 65, 34, 2, 776, 0, 8],
    [34, 2, 776, 0, 8],
    [3, 5, 4, 3, 0, 8]
];
nums.sort(function(a, b){
    return a[3] - b[3];//升序;
    //return a - b;//降序
});//二维数组排序;比较二维数组里的数组元素的下标为3的元素的大小,将二维数组的数组元素进行排序;即比较nums[0][3],nums[1][3],nums[2][3],按照这三者的大小对nums[0],nums[1],nums[2]排序

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值