JavaScript中Array数组的方法

时间:2022-01-30 21:03:04

查找: indexOf、lastIndexOf

迭代:every、filter、forEach、map、somereduce、reduceRight

用法:

 /*
1 查找方法:
* arr.indexOf( value )
* 一个参数 返回value所在数组的位置下标
* 找不到的时候返回-1
*
* arr.indexOf( start , value )
* 从start开始查找value 返回下标
* 找不到的时候返回-1
*
* arr.lastIndexOf( value )
* 从后往前找 返回下标
*
*
*
*2 迭代方法:
* arr.every(function(item , index , arr){
* return item > 2; //如果每一项都大于2 就返回true 否则false
* })
* 传入函数 对每一项进行执行函数,
* 如果每一项都返回true 最后才返回true
* 如果有一个返回false 最后就返回发false
*
* arr.filter( function( item , index , arr ){
* return item > 2; //把大于2的数组元素返回
* } )
* 传入一个函数对每一个元素执行
* 结果是真的元素就返回
*
* arr.forEach(function(item , index , arr){
* alert(item)
* })
* 提供一个循环方法
* 每一个元素都执行一下function
*
* arr.map(function(item , index , arr){
* return item * 2 ;
* })
* 对arr每一项都执行函数 然后返回执行结果
*
*
* arr.some(function(item,index,arr){
*
* retrn item > 2;
* })
* 对arr中每个元素进行判断,
* 有一个返回true 则最后返回true
* 如果全都是false 最后返回false
*
*
*
* arr.reduce( function(prev , cur , index , array){
* // 钱一个值 当前值 索引位置 数组
* return prev + cur;
* })
* 对数组中每个元素进行相加最后返回
*
*
*
* arr.reduceRight( )
* 对数组从右侧向左进行执行 返回最后的结果
*
*
*
*
*
*
*
*
* */

添加:push、pop、shift、unshift

截取splice、slice

操作:concat、join、reverse、sort

用法:

 // 数组的创建方式
// 1 不推荐
// var arr = new Array();
//2 推荐 js种数组内部数据类型可以不一样
var arr = [1,2,3,4,true,"abc",new Date() ];
//alert(arr.length);
//js中的数组可以随意改变长度 元素类型任意
arr.length = 5;
alert(arr); /*
*数组的常用方法
* 1 数组添加 删除元素
* result = arr.push(value1,value2,value3,....) 向数组添加元素 返回值 新数组的长度
* result = arr.pop() 返回数组尾部的元素并移除
*
* result = arr.shift() 从头部移除一个元素 并把头部元素返回
* result = arr.unshift(a,b,c,d,e....) 从头部插入一些元素 返回新数组长度
*
* 2 数组截取
* arr.splice(1,2,3,4,5)
* 数组的截取方法: 改变数组本身
* 第一个参数表示 起始位置
* 第二个参数表示 要截取的个数
* 第三个参数之后作为一个子数组会从截取的位置插入数组
* arr.splice(1) 1后面元素全都截掉
* arr.splice(1,2) 从1号下标元素开始 删去两个元素
*
*
* result = arr.slice(2,3)
* 截取操作 第一个参数是截取的起点,第二个参数是end 左闭右开的截取
* 将截取的结果返回 不 改变数组本身
*
*
* 3 数组操作方法
*
* result = arr1.concat(arr2)
* 将arr1和arr2进行拼接返回
* 不改变数组本身
*
* result = arr.join("-")
* 在每个元素之间添加一个 - 符号 并返回
*
* arr.reverse() 反转数组顺序
* 改变数组本身
*
* arr.sort() 正序排序
* 但是把每一个值按照字符串 一个字节一个字节比较
* 比如10和4比较,会觉得1比4小 10会排在前面
* 改变数组本身
* 如果想正确的排序 需要自己写一个方法传入sort()
* 例如
* function compare(value1 , value2){
* if(value1 < value2){
* return -1;
* }else if(value1 > value2){
* return 1;
* }else{
* return 0;
* }
* }
* 然后再调用 arr.sort(compare)
* 这样就能按照我们想要的正常的正序进行排序了
*
* */