ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数组

2022-06-16 09:05:10  阅读:144  来源: 互联网

标签:返回 arr 下标 元素 参数 数组


一.数组

数组的概念

就是一组数据,1>元素可以是任意类型 2>数组可以动态扩容

创建数组

1.1> var arr = new Array(10)  // 1个数值参数,表示数组长度
1.2> var arr = new Array(10, 1)  // 2个参数,表示元素10,1
2> var arr = []  // 字面量创建数组
3> var arr = Array(3)  // 同new Array(), 不推荐省略new

访问数组

arr[0]  // 表示数组第一个元素 通过下标取值 通过赋值修改元素

数组长度

arr.length  // 获取数组长度 可以通过设置length改变数组长度 超出长度的元素会被删除
arr.length-1 // 表示数组最后一个元素 因为数组下标从0开始

二.数组方法

方法名 方法参数 方法作用 方法返回值

数组增删改查

// 静态方法Array.isArray(arr) 判断是不是数组	返回bool 
Array.isArray(arr)

// push(arg)	接收任意数量参数	往数组末尾添加元素	返回数组新长度
arr.push()

// pop()	无参数	移除数组末尾1个元素,减少数组长度	返回移除的元素
arr.pop()

// unshift(arg) 接收任意数量参数	往数组开头添加元素	返回数组新长度
arr.unshift()

// shift()	无参数	移除数组开头1个元素,减少数组长度	返回移除的元素
arr.shift()

// splice() 2个参数	删除元素	返回被删的元素
//			3个参数,第2个是0	插入元素	返回空数组
//			3个参数,第2个是1+以上	替换元素	返回被替换的元素
arr.splice()

// indexOf()	2个参数,匹配元素,从哪个下标开始找	返回第一个匹配元素的下标	找到返回下标,找不到返回-1
arr.indexOf()

// delete(arr[i]) 数组[下标]	删除元素,不改变length,使用undefined占位	返回true
delete(arr[i])  // 不是数组方法

数组排序

// sort()	回调函数	默认按ASCII码升序只比较第1位	返回排序好的数组
arr.sort()
arr.sort(fn)

var arr = [1, 6, 3, 5]
arr.sort(function () {
    return a - b;	// 升序	b-a 降序
})

// reverse()	无参数	倒序排序数组	返回排序好的数组
arr.reverse()

生成副本 不修改原数组

// slice(i,)	1个下标	截取从下标开始到最后一个元素	返回截取的数组副本
// slice(i, j)	2个下标	截取从i到j-1的元素	返回截取的数组副本
arr.slice()

// concat(arg)	接收任意参数元素或数组	合并成一个数组副本	返回数组副本
arr.concat(arr1)

// arr.join(',')	默认用','隔开,也可以指定参数隔开	将数组元素合并成字符串	返回字符串
arr.join('-')

遍历数组

 // 只遍历有内容的元素
for (var i in arr) {
	arr[key];
}

// arr.forEach(fn)	回调函数	遍历,不能被关键字打断	没有返回值
arr.forEach(function(item, index, arr) {
    
})

// arr.map(fn)	回调函数	遍历	返回数组,根据回调函数(作为参数传递的函数)决定

// arr.sonme(fn)	回调函数	遍历	有1个成员满足条件返回true

// arr.every(fn)	回调函数	遍历	所有成员满足条件返回true

// arr.filter(fn)	回调函数	遍历	根据满足的条件,返回1个数组副本

// arr.reduce()	2个参数,1个回调函数,第2个初始值pre
arr.reduce(function(pre上一次调用返回的值, cur当前处理的元素, index, arr) {
    
}, pre)   // 如果没有pre会取arr[0]

标签:返回,arr,下标,元素,参数,数组
来源: https://www.cnblogs.com/AiZink/p/16369570.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有