JavaScript中Array类型中的方法

本文介绍了JavaScript中数组的各种操作方法,包括检测数组的方法、数组的转换、进出栈方法、排序方法、连接方法、操作方法和检索方法等。通过具体示例展示了如何使用这些方法来高效地操作数组。

Array类型

检测数组

检测数组有以下几种方法,

  • instanceof
var arr=['前端','保定','就业'];
console.log(arr instanceof Array);//true
  • Object.prototype.toString.call()方法
var arr=['前端','保定','就业'];
console.log(Object.prototype.toString.call(arr));//[object Array]
  • Array.prototype.isPrototypeOf()
var arr=['前端','保定','就业'];
console.log(Array.prototype.isPrototypeOf(arr));//true
  • Array.isArray()
var arr=['前端','保定','就业'];
console.log(Array.isArray(arr));//true
转换数组
  • 利用toString()方法将数组转换为字符串
var arr=['前端','深圳','保定'];
console.log(arr.toString());//输出结果字符串前端,深圳,保定
  • valueOf()转换原始值
var obj={
    name:'张三',
}
console.log(obj.valueOf());//{name:张三}
进出栈方法
  • push();在数组最后面添加新的元素
var arr=['前端','保定'];
arr.push('深圳');
console.log(arr);//['前端','保定','深圳']
  • pop();在数组最后面删除元素
var arr=['前端','java','js'];
arr.pop();
console.log(arr);//['前端','java']
  • unshift();在数组最前面添加新的元素
var arr=['前端','深圳'];
arr.unshift('JavaScript');
console.log(arr);//['JavaScript','前端','深圳']
  • shift();在数组最前面删除元素
var arr=['前端','深圳','JavaScript'];
arr.shift();
console.log(arr);//['深圳','JavaScript']
排序方法
  • reverse()数组翻转
var arr=[1,2,3,4,5];
console.log(arr.reverse());//[5,4,3,2,1]
  • sort()方法:对数组中的元素进行排序,并不是从小到大的排序,会影响原有数组元素的顺序
//从下列这段代码可以看出,sort()并不能实现从小到大的排序
var arr=[1,3,5,10,4,2];
console.log(arr.sort());//[ 1, 10, 2, 3, 4, 5 ]

//解决以上sort()不能以小到大的顺序排列的问题
var result=arr.sort(function(a,b){
    if(a>b){
        return 1;
    }
});
console.log(result);
连接方法

concat()用于数组之间的拼接

var arr=[1,2,3,4,5];
var arr1=[6,7,8,9,10];
console.log(arr.concat(6));//[1,2,3,4,5,6]
console.log(arr.concat([7,8,9]));//[1,2,3,4,5,7,8,9]
console.log(arr.concat(arr1));//[1,2,3,4,5,6,7,8,9,10]
操作方法
  • splice(删除开始位置,删除的元素个数)方法:用于删除当前数组指定位置指定个数的元素
var arr=[1,2,3,4,5];
/*从arr的0位置开始删除两个元素,删除掉的两个元素被result变量接住了*/
var result=arr.splice(0,2);
console.log(result);//[1,2]
console.log(arr);//[3,4,5]

//也可以用splice给数组添加元素,默认在数组最前面添加
//设置从位置0开始,删除0个,再添加新的元素
var result1=arr.splice(0,0,6,7,8);
console.log(arr);//[1,2,3,4,5,6,7,8]
  • slice()截取指定数组中的元素,可以传入两个参数,第一个是开始截取的位置,从0开始,第二个是结束截取的位置,截取不到最后一位,而是截取最后一位的前一个元素,截取的元素返回新的数组
var arr=[1,2,3];
var result=arr.slice(0,2);
console.log(result);//[1,2]
检索方法
  • indexOf()用于检查数组中是否包含指定元素内容,返回元素所在的位置,从左至右顺序进行检查,只返回第一个匹配元素的位置,后面如果还有相同的元素不考虑,如果该元素不存在数组中,返回-1
var arr=['张三','李四','小明'];
console.log(arr.indexOf('张三'));//0
console.log(arr.indexOf('小红'));//-1
  • lastIndexOf()用于检查数组中是否包含指定元素内容,返回元素所在的位置,从右至左顺序进行检查,只返回第一个匹配元素的位置,后面如果还有相同的元素不考虑,如果该元素不存在数组中,返回-1
var arr=['张三','李四','小明'];
console.log(arr.lastIndexOf('李四'));//1
forEach()方法

用于遍历指定数组
callback:表示回调函数
currentValue:表示遍历数组得到每个元素
index:表示遍历数组得到每个元素对应的索引值
array:表示遍历的数组

var arr=['张三','李四','小红','小明'];
arr.forEach(function(value,index,array){
    console.log(vaule);
    console.log(index);
    console.log(array);
});
迭代方法

判断数组的元素是否符合条件,符合返回true,否则返回false

var arr=[1,2,3,4,5];
var result=arr.every(function(currentVaule,index,array){
    return (cunrrentValue <=5);
});
console.log(result);//true
归并方法
var arr=[1,2,3,4,5];
arr.reduce(function(accumulator,currentValue,currentIndex,array){
    console.log(accumulator);
    return accumulator+currentValue;
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值