JS-数组对象的方法

本文详细介绍了JavaScript中数组的方法,包括ES5的concat(), join(), pop(), push(), reverse(), shift(), unshift(), slice(), sort(), splice(), toSource(), toString(), toLocaleString(), valueOf()。此外,还涵盖了ES6新增的Array.of(), Array.from(), find(), findIndex(), fill(), includes()以及flat()等方法,帮助开发者更好地理解和使用数组操作。" 119311374,10546469,使用scponly限制SCP/SFTP用户到指定目录,"['SSH', '服务器管理', '文件传输', 'SCP/SFTP', '安全配置']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES5:

concat():连接两个或更多的数组,并返回结果。

var arr=[10,20,30]
var arr2=["hello","world"]
var arr3=arr.concat(arr2,100,{name:"Rose"})
console.log(arr3)  //[10, 20, 30, 'hello', 'world', 100, {name:"Rose"}]

join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

var arr=[1,2,3,4]
var re=arr.join("*")  //不传参默认是逗号
console.log(re)  //1*2*3*4

pop():删除并返回数组的最后一个元素

var arr=[10,20,34]
var re=arr.pop()
console.log(re,arr)  //34   [10,20]
// 删完了返回undefined,空数组

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

var arr=[10,20,30]
var re=arr.push(50,39)
console.log(re,arr)  //5  [10, 20, 30, 50, 39]

reverse():颠倒数组中元素的顺序。

var arr=["hello","world"]
var re=arr.reverse()
console.log(re,arr)  //['world', 'hello']    ['world', 'hello']

shift():删除并返回数组的第一个元素

var arr=[10,20,30,40]
var re=arr.shift() 
console.log(re,arr)  //10   [20, 30, 40]

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

var arr=[10,20,30,40]
var re=arr.unshift(99,77) 
console.log(re,arr)  //6   [99, 77, 10, 20, 30, 40]

slice():从某个已有的数组返回选定的元素

var arr=["hello","world",999]
var re=arr.slice(1)
console.log(re,arr)  //['world', 999]    ['hello', 'world', 999]

sort():对数组的元素进行排序

var arr=[1,2,3,4,99]
var re=arr.sort()
console.log(arr,re)  //[1, 2, 3, 4, 99]    [1, 2, 3, 4, 99]


var arr=[10,90,40,55,33,87]
var re=arr.sort(function(a,b){
return b-a  //a-b正序排列,b-a倒序排列
})
console.log(re,arr)  //[90, 87, 55, 40, 33, 10]     [90, 87, 55, 40, 33, 10]

splice():删除元素,并向数组添加新元素。

var arr=[10,20,3,40,89]
var re=arr.splice(2,1,"hello","world") 
//从下标为2的开始删除一个元素,并添加hello h5到被删除元素的位置
console.log(re,arr,arr.length)  //[3]   [10, 20, 'hello', 'world', 40, 89]   6

toSource():返回该对象的源代码。(存疑)

toString():把数组转换为字符串,并返回结果

var arr=[1,2,"good"]
var re=arr.toString()
console.log(arr,re)  //[1, 2, 'good']    '1,2,good'

toLocaleString():把数组转换为本地数组,并返回结果。 (存疑)

valueOf():返回数组对象的原始值

var arr=["good","luck"]
var re=arr.valueOf()
console.log(arr,re)   //['good', 'luck']   ['good', 'luck']

ES6新增:

Array.of():将参数中所有值作为元素形成数组。

console.log(Array.of(null,33,"good",99)) //[null,33,"good",99]

Array.from():将类数组对象或可迭代对象转化为数组。

var myMap=new Map()
myMap.set("a1","b1")
myMap.set("a2","b2")
console.log(Array.from(myMap))  //[["a1","b1"],["a2","b2"]]

var arr=[1,2,3]
var set=new Set(arr)
console.log(Array.from(set))  //[1,2,3]

var str="abc"
console.log(Array.from(str))  //["a","b","c"]

find():查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。

var arr=[11,22,33,44,10,9]
var re=arr.find(function(el){
console.log(999)  //两遍999
if(el>20){
return true
}})
console.log(re)  //22

findIndex():查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。

var arr=[9,80,66,45]
var re=arr.findIndex(function(el){
if(el>18){
return true
}})
console.log(re)  //1

fill():将一定范围索引的数组元素内容填充为单个指定的值

var arr=[99,88,23,9,5,13]
var arr2=arr.fill("aaa",2,4)  //索引2和3  [2,4)
console.log(arr,arr2)  //[99, 88, 'aaa', 'aaa', 5, 13]  [99, 88, 'aaa', 'aaa', 5, 13]

includes():数组是否包含指定值。注意:与 Set 和 Map 的 has 方法区分;Set 的 has 方法用于查找值;Map 的 has 方法用于查找键名。

var arr=[1,2,5,"thanks"]
var re=arr.includes("thanks")
console.log(re)  //true

flat():嵌套数组转一维数组

var arr=[["hello","world"],40,50,[[67,71],"你好",[90,[110],100]]]
var arr2=arr.flat(3)
console.log(arr2)  // ['hello', 'world', 40, 50, 67, 71, '你好', 90, 110, 100]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值