数组Array,构建/遍历/添加元素/删除元素/concat/splice/slice/等等

26 篇文章 1 订阅

数组Array

//数组构建
var arr = new Array(4); //4是数组长度
var arr = new Array(1,2,3,4); //如果参数有两个或两个以上,那么第一个元素则是arr[0]的值。
//如果数组的第一个参数不是数值类型,且只有一个,也是作为数组的arr[0]的值。

var arr = [1, 2, 3, 4, 5];
console.log(arr.length);   // 5
arr.length = 20;   //数组长度可以修改/设置
arr.length = 0;   //表示清空数组
//如果数组长度小于原数组的长度,意味着数组从0位截取到指定位置
arr[arr.length] = number;   //意味着在数组尾部添加一个数字
arr[arr.length-1] = number;   //意味着在数组末尾替换一个数字

//遍历数组
for(var i = 0; i < arr.length; i++)
console.log(arr[i]);
for(var i in arr)
console.log(arr[i]);
//使用for语句循环数组,只能循环数组的每个元素(主要使用for循环数组)
//使用for in 循环,不但可以循环数组每个元素,还可以循环到他的属性。(使用for in 循环对象)

//数组中标识元素所在的位置,叫做数组的下标或者索引
//数组中标识元素的内容,arr[0]为下标变量

//数组添加元素
var arr=[-2,-1,0,1,2,3,4,5];
var len=arr.push();//返回数组的新长度
len=arr.push(6);//[1,2,3,4,5,6],6;
var len=arr.push(6,7,8);//[1,2,3,4,5,6,7,8],8;
var len=arr.push([6,7,8]);//[1,2,3,4,5,[6,7,8]],6;

var len=arr.unshift();
var len=arr.unshift(0);
var len=arr.unshift(-2,-1,0);   //减少使用unshift

//数组删除元素
//删除数组尾部的元素
var t=arr.pop();//返回被删除的元素
console.log(t);
/var arr1=[];
var t;
while (t=arr.pop()){
arr1.push(t);
}
console.log(arr1,arr);
/

//删除数组的头部元素
var t=arr.shift();//返回被删除的元素

//将数组转换成为字符串join
console.log(arr.join());//arr.toString()相同
console.log(arr.join("#"));//设置一个符号,用这个符号链接数组的每个元素,形成新字符串
console.log(arr.join(""));//元素紧密相连

//数组连接concat
var arr1=arr.concat();//没有参数时,是复制数组
arr[0]=10;
var arr1=arr.concat(5,6);//将arr数组链接,5,6两个元素,形成新数组,原数组不变
var arr1=arr.concat([5,6,7]);//将arr数组和数组[5,6,7]合并形成新数组
var arr2=[7,8,9];
var arr1=arr.concat(arr2);//将两个数组链接形成新数组
console.log(arr1,arr);

splice
var arr = [1,2,3,4,5];
arr.splice();    //数组插入,删除,替换元素,并且返回被删除元素组合的新数组
arr.splice();    //创建一个新的空数组返回
var arr1 = arr.splice(3);   //从下标是3开始删除到尾部
var arr2 = arr.splice(0);   //将arr的所有元素导入到arr2中,清空arr
console.log(arr2);
var arr3 = arr.splice(0,2);   //从下标为0的位置开始删除两个元素
var arr4 = arr.splice(0,0,-1);  //在第0位插入一个-1
var arr5 = arr.splice(-1,0,-1);  //第-1位(倒数第一位)插入一个-1
var arr6 = arr.splice(arr.length, 0, -1);  //在尾部插入一个-1
var arr7 = arr.splice(1,2,-1,-2);  //从第一位开始替换两个元素-1,-2

//slice 数组截取元素,返回被截取的新元素,原数组不改变
var arr2 = arr.slice();   //复制arr的所有元素给arr2,没有引用关系
var arr3 = arr.slice(0);  //同上
var arr4 = arr.slice(3);   //将数组从下标3开始到结尾,截取形成新数组
var arr5 = arr.slice(-2);  //从倒数第二位开始截取
var arr6 = arr.slice(3,4);  //从下标3开始到4结束截取
var arr7 = arr.slice(-2,-1);  //从下标倒数第二位开始到倒数第一位结束截取

indexOf()
var arr = [1,2,3,4,5];
arr.indexOf();  //在数组中查找元素,可以根据第二个参数的起始位置开始查找,返回查找到元素的下标,如果没有找到,返回-1
arr.indexOf(2,2)   //从下标2开始向后查找2
arr.indexOf(2);   //从头查找6

var arr = [1,2,3,2,3,5,4,2,9,2];
var index = -1;
while(arr.indexOf(2,index+1) > -1){   //查找数组中所以2的索引位置
    index = arr.indexOf(2,index+1);
    console.log(index)
    }

lastIndexOf()  //从后向前搜索,查找元素的下标

//arr.some
var arr=[1,2,4,6,7,8,5,9];
//判断所有元素是否有满足该条件的,
//如果遇到一次满足则不再继续判断,直接返回true,否则返回false
var bool=arr.some(function (t) {
    return t>10;
});
console.log(bool);

 //判断数组中是否有大于5的值
if(arr.some(function (t) { return t>5 })){
}

//判断数组中每一个是否满足条件,如果全部都满足,就返回true,否则返回false
var bool=arr.every(function (t) {
    return t>0;
});
console.log(bool);

var arr1=arr.filter(function (t) {
    t++;
    return t>5;//返回的任然是原元素
});
console.log(arr1,arr);

查询对象型数组中是否有符合条件的数组
//判断数据中是否有id为1005的元素
if(data.some(function (t) { return t.id===1005 })){
    console.log("有");
}

判断数组中每一个是否满足条件,如果全部都满足,就返回true,否则返回false

var bool=arr.every(function (t) {
return t>0;
});
console.log(bool);

filter选择器
var arr=[1,2,4,6,7,8,5,9];
//选择t++之后是否符合条件,符合则返回原数组的元素
var arr1=arr.filter(function (t) {
    t++;
    return t>5;//返回的任然是原元素
});
console.log(arr1,arr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值