https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
1.创建数组2种方法
var arr1=[] //[]
var arr2=new Array() //[]
var arr3=new Array(2) //[ <2 empty items> ]
console.log(arr1,arr2,arr3)
var arr4=new Array(2,3) //[2,3]
console.log(arr4)
2.检测是否为数组2种方法
var arr=[2,3]
//1.传统方法
console.log(arr instanceof Array) //true
//2.新增方法
console.log(Array.isArray(arr)) //true
2.1 实例:反转数组的传入参数判断
function reverse1(arr){
if(arr instanceof Array){ //同Array.isArray(arr)
var newArr=[]
for(let i=arr.length-1; i>=0; i--){
newArr[newArr.length]=arr[i]
}
return newArr
}else{
return '错误:传入的参数必须是数组'
}
}
var arr=[1,2,'a',3,'b']
console.log(reverse1(arr))
console.log(reverse1('hwhwhwhwh'))
3.添加删除数组元素的方法
1.push,从后面添加,返回添加后的数组的长度
var arr=[1,2]
arr.push('hi')
console.log(arr) //[ 1, 2, 'hi' ]
console.log(arr.push('jim')) //4
2.unshift从前面添加数组,返回添加后数组长度
var arr2=[2,3]
arr2.unshift('1') //['1',2,3]
console.log(arr2)
console.log(arr2.unshift('hahaha')) //4
3.pop删除数组最后一个元素,返回删除的元素,没参数
var arr3=['a','b']
arr3.pop()
console.log(arr3) //['a']
console.log(arr3.pop()) //a
4.shift删除数组前面第一个元素,返回删除的元素,无参数
var arr4=[1,2,4,5]
arr4.shift()
console.log(arr4) //[2,4,5]
console.log(arr4.shift()) //2
例:有一个包含工资的数组[1500, 1200, 2000, 2100, 1800],要求把数组中工资超过2000的选出来
function chose(arr){
var newArr=[]
for(let i=0; i<=arr.length; i++){
if(arr[i]>2000){
//以前写法 newArr[newArr.length]=arr[i]
newArr.push(arr[i])
}
}
return newArr
}
var arr=[1500, 1200, 2000, 2100, 1800,5800,88888]
console.log(chose(arr))
4.数组排序reverse、sort
1.reverse数组反转
var arr=[1,3,4,5,6]
console.log(arr.reverse())
2.数组排序
var arr1=[2,1,5,0,9,8]
console.log(arr1.sort())
2.2如果有多位则排序不对
var arr2=[11,1,2,23,3,33]
console.log(arr2.sort()) //[ 1, 11, 2, 23, 3, 33 ]
【重点】正确排序写法,固定写法,记住即可
arr2.sort(function(a,b){
return b-a //升序a-b;降序b-a
})
console.log(arr2)
5.获取数组元素索引indexOf,lastIndexOf
var arr=['blue','yellow','sky']
console.log(arr.indexOf('sky')) //【2】
console.log(arr.lastIndexOf('blue')) //0
console.log(arr.indexOf('haha')) //-1
例:数组去重 [‘c’, ‘a’, ‘z’, ‘a’, ‘x’, ‘a’, ‘x’, ‘c’, ‘b’]
//解.定义一个新数组newArr,把arr逐个检查:新数组不存在此元素(indexOf),则放入其中
function unique(arr){
var newArr=[]
for(let i=0; i<=arr.length-1; i++){
//当前元素在newArr数组中不存在,则把它存入新数组中
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i])
}
}
return newArr
}
var arr2=['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b']
console.log(unique(arr2))
6.数组转字符串2种方式toString,join
var arr=['hello','this','is','jim']
console.log(arr.toString()) //1方式 hello,this,is,jim
var demo=arr.join(' ') //2方式常用 hello this is jim
console.log(demo)
console.log(arr.join('&')) //hello&this&is&jim
console.log(arr.join()) //hello,this,is,jim
7.删除或替换数组中元素:arr.splice()
语法:
arr.splice(元素下标,删除元素的数量(<0不删除),插入/替换进行的元素)
var arr=[1,3,4,5]
var demo=arr.splice(1,0,2) //在下标1元素位置,插入2
console.log(demo) //[],没有元素被删除(替换)
console.log(arr) //[1,2,3,4,5]
var demo2=arr.splice(1,1,'二') //把下标1元素替换为二
console.log(demo2) //[2] //删除(替换掉)的元素组成的数组
console.log(arr) //[ 1, '二', 3, 4, 5 ]
var demo3=arr.splice(2) //删除从下标2开始,之后所有元素
console.log(demo3) //[3,4,5] 删除的元素组成的数组
console.log(arr) //[1,'二']
8.arr.slice(begin,end)
方法返回一个新的数组对象,这一对象是一个由 begin 和 end
决定的原数组的浅拷贝 [包括 begin,不包括end)。原始数组不会被改变。
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2)); // Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4)); // Array ["camel", "duck"]
console.log(animals.slice(1, 5)); //Array ["bison", "camel", "duck", "elephant"]
9.concat()连接两个数组,
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

该博客主要介绍了JavaScript中数组的多种操作方法,包括创建、检测、添加删除元素、排序、获取索引、转字符串、删除或替换元素、截取和连接等,还给出了相关实例,如反转数组参数判断、数组去重、筛选工资等。

3046

被折叠的 条评论
为什么被折叠?



