JS中数组的常用方法

创建:
var arr = []; //字面量方式
var arr = [“hello”,123,true,undefined,{},[],function(){},NaN,null];
console.log(arr);
var arr2 =new Array(); //构造函数方式
var arr2 =new Array(“hello”,123,true,undefined,{},[],function(){},NaN,null)
console.log(arr2);

//当只有一个数据时,两种创建方式不同
var  arr1 = [5];  //表示有一个数组元素5
var arr2 =new Array(5); //表示有5个数组元素,值全部为undefined  5表示长度

var arr = [];
var arr1 =[];
console.log(arr ==arr1);  //false
// 任何两个对象都不相等

// 数组的操作:
索引操作
索引:0~数组.length-1
中括号:arr[0]
循环遍历数组
数组的增删改查
增
var  arr = [];
arr[0] = 10;
arr[5] = 20;
console.log(arr[0]);   //给第一个值赋值10
console.log(arr[5]);  //数组长度增加到6,没有值的显示empty
arr.length=10; //直接增加数组的长度,没有值的显示empty
删
arr.length =2;  //直接减少数组的长度
改
arr[1]="hello";  //数组第二个值改成hello
查
console.log(arr);
console.log(arr.length);

方法操作:
1.push 在数组末尾增加一个
arr.push(“hahah”);
2.unshift 在数组开头增加一个
arr.unshift(“heihei”);
3.pop(); 删除数组中的最后一位
arr.pop();
4.shift 删除数组中的第一位
arr.shift();
5.splice 可删除,可改,可增
arr.splice(1,2); // 第一个数组表示从哪个位置开始,第二个数字表示删除几个值
arr.splice(2,1,“a”,“b”,“c”);// 在原数组第三个位置开始,删除一个值,然后加入三个值
6.slice 截取
var newArr = arr.slice(start,end); // 开始位置,截取到结束位置,但是不包含结束位置的值
var newArr = arr.slice(1,5);
console.log(newArr);
7.sort
var arr2 =[45,67,13,4,5,89,7,8];
arr2.sort(); //逐位比较 [13,4,45,5,67,7,8,89] 按字符串的方法排序
利用回调函数
arr.sort(function(a,b){ return a-b;}); //a-b 是从小到大 b-a 是从大到小
8.join 数组转字符 (是一个新数组)
var arr2 =[45,67,13,4,5,89,7,8];
var smallArr = arr2.join();
console.log(smallArr); // 45,67,13,4,5,89,7,8
9.concat 合并
var arr1 = [3,5];
var arr2 = [4,6];
var bigArr = arr1.concat(arr2);
console.log(bigArr); //[3,5,4,6]
推荐文档:https://www.jianshu.com/p/7e160067a06c
ES5的方法
10.indexOf() 检测数组中是否存在指定数据,存在-返回索引,不存在返回 -1
arr.indexOf()
11.forEach()
数组的专属遍历方法,1个参数:回调函数,在回调函数身上有三个参数
var fun = arr.forEach(function(val,idx,self){})
12.map
不是专门用来遍历的,但是可以实现遍历
主要功能:可以用来获取数组中的数据,操作,并返回成新数组
war m = arr.map(function(val,idx,self){
return val + “ly”;
})
13.filter()
不是专门用来遍历的,但是可以实现遍历,格式同forEach
主要功能:过滤,回调函数每次返回值为true时,会将这个遍历到的值放在新的数组中,在filter结束后,返回这个数组;如果为false,跳过
arr.filter(function(val,idx,self){})
14.some()
15.every()
16.reduce()
17.reduceRight()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值