javaScript常用的数组方法ES3

数组是一个复杂数据类型,操作的时候就不同于简单数据类型

数组常用方法(ES3)

1: push

push是用来在数组的末尾追加一个元素
会改变原数组
返回值:添加完元素以后数组的长度

var arr = [1,2,3]
var pushReturn = arr.push(5)
console.log(arr) //(4) [1, 2, 3, 5]
console.log(pushReturn) // 4

2: pop

pop是用来在数组末尾删除一个元素
会改变原数组
返回值: 被删除的元素

var arr = [1,2,3,5]
var popReturn= arr.pop()
console.log(arr) //(3) [1, 2, 3]
console.log(popReturn) // 5

3: unshift

unshift是用来在数组的最前面添加一个元素
会改变原数组
返回值: 添加完元素以后数组的长度

var arr = [1,2,3]
var unshiftReturn= arr.unshift(0)
console.log(arr) //(4) [0, 1, 2, 3]
console.log(unshiftReturn) // 4

4: shift

shift是用来删除数组的最前面一个元素
会改变原数组
返回值: 被删除的元素

var arr = [1,2,3]
var shiftReturn= arr.shift()
console.log(arr) //(2) [2, 3]
console.log(shiftReturn) // 1

5: splice

splice是截取数组中的某些内容,按照数组的索引来截取
会改变原数组
语法: arr.splice(从哪一个索引位置开始,截取多少个,替换的新元素)
替换位置从索引位置开始
返回值: 被删除的元素集合

var arr = [1,2,3,4,5]
var spliceReturn= arr.splice(1,2,'a','b')
console.log(arr) //(5) [1, "a", "b", 4, 5]
console.log(spliceReturn) // (2) [2, 3]

6: slice

slice方法可从已有的数组中返回选定的元素
不会改变原数组
语法: arr.slice(从哪一个索引位置开始,截取到哪一个索引位置)
不包含结束位置
返回值: 截取的元素集合

var arr = [1,2,3,4,5]
var sliceReturn= arr.slice(1,3)
console.log(arr) //(5) [1, 2, 3, 4, 5]
console.log(spliceReturn) // (2) [2, 3]

7: reverse

reverse用来反转数组的

var arr = [1,2,3,4,5]
arr.reverse()
console.log(arr) //(5) [5, 4, 3, 2, 1]

8: concat

concat用于把多个数组进行拼接
concat不会改变原始数组,而是返回一个新的数组
返回值: 拼接好的新数组

var arr1 = [1,2,3,4,5]
var arr2 = ['a','b','c']
var newArr = arr1.concat(arr2)
console.log(arr1) //(4) [1, 2, 3, 4]
console.log(arr2) //(3) ["a", "b", "c"]
console.log(newArr) //(7) [1, 2, 3, 4, "a", "b", "c"]

9: join

join是把数组里面的每一项内容拼接起来,变成一个字符串
不会改变原始数组,而是把拼接好的字符串返回
可以自己定义每一个之间的拼接符 join(“要以什么内容拼接”)
返回值: 拼接好的字符串

var arr1 = [1,2,3,4,5]
var str1 = arr.join()
var str2 = arr.join('===')
console.log(arr) //(4) [1, 2, 3, 4]
console.log(str1) // 1,2,3,4  不指定拼接符,默认使用逗号
console.log(str2) // 1===2===3===4

10: sort

sort是用来给数组排序的,相比以上方法理解稍微复杂一点点
排序的方法需要你来定义,如果不定义采用默认的字符编码顺序排序
返回值: 排序好的数组
参考文档 :https://www.w3school.com.cn/jsref/jsref_sort.asp

var arr = [323,3,52,3,3,11,43,4,34]
// 排序的方法需要你来定义,如果不定义采用默认的字符编码顺序排序, 就会出现以下结果
arr.sort()
console.log(arr) //(9) [11, 3, 3, 3, 323, 34, 4, 43, 52] 字符编码顺序排序

以下定义一个方法来排序

var arr = [323,3,52,3,3,11,43,4,34]
arr.sort(function(a,b){
    //这个函数要有一个返回值,说明a和b的顺序 此处以【从小到大】排序为例,两值相减判断正负就能排序
    if(a<b){
        return -1;//若 a 小于 b, a 应该出现在 b 之前,则返回一个小于 0 (a-b<0)的值。
    }
    if(a==b){
        return 0;//若 a 等于 b,则返回 0(a-b=0)。
    }
    if(a>b){
        return 1;//若 a 大于 b,则返回一个大于 0 (a-b>0)的值。
    }
})
console.log(arr) // (9) [3, 3, 3, 4, 11, 34, 43, 52, 323] 若要从大到小 以上-1 和 1 位置互换就行

当然官方给定了我们直接的使用方法
也是以上方法的最终版
从小到大可以简化里面的内容: return a-b
从大到小可以简化里面的内容:return b-a

var arr = [323,3,52,3,3,11,43,4,34]
arr.sort(function(a,b){
	return a-b
})
console.log(arr) // (9) [3, 3, 3, 4, 11, 34, 43, 52, 323] 同样可以达到从小到大排序结果
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页