常见数组方法

1.push和pop

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度。

pop() 方法用于删除数组的最后一个元素并返回删除的元素

注意:此方法改变数组的长度!

var a = ['a', 'b', 'c', 'd']

// 添加,可以传入任意数量的参数,并且返回数组的长度
var length = a.push('e','f')
console.log(length); //6
console.log(a); //[ 'a', 'b', 'c', 'd', 'e', 'f' ]

// 删除pop 不接受参数,并且返回被移除的数据
var delate = a.pop()
console.log(delate);  //f

2.unshift与shift

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度

注意: 该方法将改变数组的数目。

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

注意: 此方法改变数组的长度!

var fruits = ["Banana", "Orange", "Apple", "Mango"];

var length = fruits.unshift("Lemon");
console.log(length);//5
console.log(fruits); //[ 'Lemon', 'Banana', 'Orange', 'Apple', 'Mango' ]

var delate = fruits.shift()
console.log(delate); //Lemon

3.join与toString

join() 方法用于把数组中的所有元素转换一个字符串。

元素是通过指定的分隔符进行分隔的。

toString() 方法可把数组转换为字符串,并返回结果。

注意: 数组中的元素之间用逗号分隔。

var a = ['a', 'b', 'c', 'd']

// 以传入的参数作为字符串的拼接方式,并且返回一个字符串
// 不传入参数,将会默认以,方式进行拼接,并且返回一个字符串
var b = a.join('@')
console.log(b) //a@b@c@d
var c = a.join()
console.log(c)  // a,b,c,d

// 通过toString()转化为字符串
var n = a.toString()
console.log('toString===', n); //toString=== a,b,c,d
 

4.splice

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组

var a = ['a', 'b', 'c', 'd', 'e']
// 删除a.splice(index,num)  index=>下标(删除的开始位置) num=>删除的个数,当删除的个数为空,则删除开始位置,到数组结束的位置
a.splice(1, 1)
console.log(a); //[ 'a', 'c', 'd', 'e' ]

a.splice(1)
console.log(a); //[ 'a' ]

// 添加 a.splice(index,0,元素1,元素2,元素3......)
var b = ['a','b','c','d','e']
b.splice(1,0,'f','g','h')  
console.log(b) // ['a','f','g','h','b','c','d','e']

// 修改 b.splice(index,num,元素1,元素2,元素3......)

var b = ['a','b','c','d','e']
b.splice(1, 1, 'n', 'x')
console.log(b); //[ 'a', 'n', 'x', 'c', 'd', 'e' ]

5.concat

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

var a = ['a','b','c']
var b = ['d','e','f']
var c = a.concat(10,b)
// console.log(c) //[ 'a', 'b', 'c', 10,  'd', 'e', 'f']

// 不传递参数,将直接复制a
var d = a.concat()
console.log(d) //[ 'a', 'b', 'c' ]

6.sort

sort() 方法用于对数组的元素进行排序

排序顺序可以是字母或数字,并按升序或降序。

// 数组进行排序  => 转化成字符串  '10' '30' => 
var a = [10,30,9,7,6,20]
var b = a.sort()
console.log(b)  //[ 10, 20, 30, 6, 7, 9 ]



// 使用数字排序,你必须通过一个函数作为参数来调用
// 函数指定数字是按照升序还是降序排列。
var c = a.sort(function(a,b){return a-b})
console.log(c) //[ 6, 7, 9, 10, 20, 30 ]

7.reverse

reverse() 方法用于颠倒数组中元素的顺序。

	// reverse 数组的反转
  var a = [10,30,9,7,6,20]
  var b = a.reverse()
  console.log(b) //[ 20, 6, 7, 9, 30, 10 ]

8.slice

slice() 方法可从已有的数组中返回选定的元素。

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分

注意: slice() 方法不会改变原始数组。

var a = ['a','b','c','d']
		// 1.当只有一个参数(start),返回从起始位置,到数组结束的所有元素,组成一个新的数组
		var arr1 = a.slice(1)
		console.log(arr1)
		
		// 2.当有两个参数,则返回start,到end位置的所有元素,组成一个新的数组,但是不包含end位置上的元素
		var arr2 = a.slice(1,3)   // b、c
		console.log(arr2)
		
		// 3.当有两个参数,end的值为负数,则会与数组的长度进行相加,然后再返回新的数组
		var arr3 = a.slice(1,-2)   // b    -2+a.length
		console.log(arr3)
		
		// 4. 当有两个参数,start,end都为负数,则都会与数组的长度进行相加,再返回新的数组
		var arr4 = a.slice(-3,-2)  // b
		console.log(arr4)
		
		// 5.start为负数
		var arr5 = a.slice(-3)
		console.log(arr5)

9.indexOf与lastIndexOf

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置

如果没有找到匹配的字符串则返回 -1

	// indexOf('元素') 从头开始查找元素在本数组中第一次出现的位置,如果查到就返回对应的下标,查不到返回-1
  var a = ['a','b','c','d']
  var cIndex = a.indexOf('c')
  console.log(cIndex)   // 2
  var xIndex = a.indexOf('x')
  console.log(xIndex)   // -1
  
  // lastIndexOf('元素') 从末尾开始查找元素在本数组中第一次出现的位置,如果查到就返回对应的下标,查不到返回-1
  var b = ['o','p','y','t']
  var yIndex = b.lastIndexOf('y')
  console.log(yIndex)  // 2
  console.log(b.lastIndexOf('z')) //-1

10.遍历数组

推荐在遍历对象的时候使用for in ,在遍历数组的时候使用for of 

var a = ['a', 'b', 'c', 'd']
// 通过普通for循环遍历数组
for (var i = 0;i<a.length;i++){
  // console.log(a[i] );
}


// 使用for-in遍历数组   a 被遍历的数组 index 下标  in 从数组a中进行遍历
for (const i in a) {
  // console.log(a[i] );
}
// 使用for-of  最好遍历数组
for (const item of a) {
  // console.log(item);
}

var obj = {
  name: "张三", //  key =>属性名称  value 属性值
  age: 18, 
  sex: '男' 
}
// 使用for-in 最好遍历对象   key 属性名  obj 对象   obj[key] 获取属性值
for ( var key in obj) {
  console.log(obj[key] );
}

forEach()遍历数组

 forEach 遍历方法=>对数组进行遍历

forEach(): 没有返回值,forEach 是改变原数组。本质上等同于 for 循环,对每一项执行 function 函数。即map是返回一个新数组,原数组不变。

var a = ['a', 'b', 'c', 'd'];
		// forEach 遍历方法=>对数组进行遍历
		// forEach需要一个函数作为参数,这个函数通常情况下叫做回调函数
		// 这个回调函数会产生三个参数
		// 第一个参数el是元素
		// 第二个参数index是下标
		// 第三个参数arr是数组本身
		a.forEach(function(el,index,arr){
			console.log('元素:'+el,'下标:'+index)
			console.log(arr)
		})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值