javascript:最详细数组操作方法,面试必问!!

1.数组是引用数据类型的对象数据类型。为什么要学会数组:因为我们获得的数据一般是对象或者数组(json格式),所以你要学会操作数组。
  1. delete: 返回值 true / false。//这个方法一般 几乎 不用
delete:删除数组中的某一项,键值可以删除,但是length不会改变。
	var array = [1, 2, 3, 8, 6]

	delete array[0]
  1. push:向数组的末尾添加元素 -原数组也发生改变,返回值 数组的最新长度。
	var array = [1, 2, 3, 8, 6]
	
	array.push(1,'111'); //参数不限 内容格式不限 

  1. pop:删除数组中的最后一项,没有参数,原始数组发生改变,返回值删除的那个数组内容。
    var array = [1, 2, 3, 8, 6]
    
	array.pop(); 
	
  1. unshift:向数组开始位置新增内容,个数不限,格式不限,原始数组改变,返回值新数组长度。
    var array = [1, 2, 3, 8, 6]

    array.unshift(1,'123')
  1. splice:实现数组的增删改,原数组改变,返回一个新的数组删除的内容,注意接收一下哈.
var array = [1,2,3,4,5,6]
//1.删除  返回被删除的元素
var newarray = array.splice(n,m)//从 n 开始  删除 m 个数
//2.清空数组
array.splice(0)//从0开始删除到末尾 ,就是删除完了
//3.修改
array.splice(n,m,x) //从 n 开始 删除,到 m ,在删除的地方添加 x
//4.新增 
array.splice(n,m,x1,x2,x3) //从 n 开始 删除,到 m ,在删除的地方添加 x1,x2......
//5.新增 不删
array.splice(n,0,x1,x2....) //一个都不删 添加到 n 的前面 
  1. slice:查询 , 原始数组不变 ,返回查找到的新数组
var array = [1,2,3,4,5]

var newArray = array.slice(n,m) //从n开始 到m ,但是不包含m
//特殊性
array.slice(n) // 从 n 开始到 结尾
array.slice(0) //全部查询 一遍实现数组的克隆 ,是浅克隆 ,得到的是两个不同的数组
  1. concat:实现数组和数组之间的拼接 ,实现多个,原始数组不发生变化,返回拼接的新数组。
var array = [1,2]
var newarray = [3,4]
var resultarray = array.concat(newarray) //之间拼接
var resultarray = array.concat('我是添加的',newarray)//拼接多个
  1. join:指定字符串分割数组 - > 变为字符串
	var array = [1, 2, 3, 8, 6]
    array.join('-');
  1. reverse: 颠倒数组
	var array = [1, 2, 3, 8, 6]
    array.reverse('-');
  1. sort:排序数组
	var array = [1, 2, 3, 8, 6]
    arr.sort(function(a,b){
    
        //升序排序  b - a  降序
    return a - b 
    })

  1. indexOf:获取数组中 某个数值出现的位置第一次 返回值 1 / -1
var array = [1,2,3]
array.indexOf(1) // 1 
array.indexOf(111111)  // -1
//也可以操作字符串
var strings = 'wewqe4wqe57wq8e7wa4d5sa2d4as'
var index = strings.IndexOf('w') // 1
  1. lastIndexOf: 获取数组中 某个数值出现的位置最后一次 返回值 1 / -1
var array = [1,2,3]
array.LastindexOf(1) // 1 
array.LastindexOf(111111)  // -1
//也可以操作字符串
var strings = 'wewqe4wqe57wq8e7wa4d5sa2d4as'
var index = strings.lastIndexOf('w') // 1
  1. includes: 也是查找 返回 true / false
var array = [1,2,3]
array.includes(1) // true
array.includes(111111)  // false
//也可以操作字符串
var strings = 'wewqe4wqe57wq8e7wa4d5sa2d4as'
var index = strings.includes('w') // true
  1. forEach: 没有返回值 记住没有返回值(不能return)
var arr = [1,2,3]
arr.forEach((item , i)  => {
    
    
//不能 return  
// item  就是 1 2 3 , i 是索引 可加可不加
arr.push(item) 
})
  1. map:有返回值
var arr = [1,2,3]
var newarray = []
newarray = arr.map((item , i) => {
    
    

// item 就是 1 2 3 , i 是索引 可加可不加

return 'newarray'
//return item * 10

})
console.log(newarray); //全部变为了 newarray arr不变
//newarray 就是 [10,20,30]

猜你喜欢

转载自blog.csdn.net/qq_45557681/article/details/115369136