JavaScript数组Array介绍

JavaScript数组是包含一组数据的集合,每个数据都有对应的下标,第一个位置的下标为0,最后一个位置的下标是数组长度-1,数组里面的数据可以是不同的类型的数据,可以有重复的数据

###1.数组创建方式
数组有两种创建方式

  • Array构造器创建
const arr1=Array()
//或者 const arr1=new Array()
console.log(arr1)
  • 使用方括号[] 创建(推荐使用这种方式)
const arr2=[]
console.log(arr2)

2.创建包含数据的数组

//可以有不同的数据类型
const girl=[23,"lily","女"]
console.log('girl:',girl)

3.访问数组里面的数据

每个数组里面的元素都有对应的下标,下标从0开始,最后一个元素的下标是数组的长度-1

const students=['张三','李四','王五','陈六']
//数组长度
console.log(students.length)
//第一个元素
console.log(students[0])
//第二个元素
console.log(students[1])
//最后一个元素
console.log(students[students.length-1])

4.修改数组元素

数组里面的元素是可以改变的,将数据赋值给对应的数组下标后值会变为新赋予的值

const number=[1,2,3,4,5]
//第一个值改成10
number[0]=10
//最后一个值改成50
number[number.length-1]=50
console.log('number',number)

5.数组常见方法

  • 构造器方法 用于创建数组
//长度8没有元素的数组
const eigthEmptyArry=Array(8)
console.log(eigthEmptyArry)
  • fill方法 数组进行填充固定的值 (可以再加两个参数,分别表示填充的起始和结束下标,但不填充结束下标该位置的值)
const eightValueArray=Array(8).fill("x")
console.log(eightValueArray)//['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']

const fillArray=['a','b','c','d','e']
//b,c,d替换为x
fillArray.fill('x',1,4)
console.log(fillArray)
  • concat方法 连接两个或多个数组 生成一个新数组 不改变原来的数组
const a1=['a','b','c']
const a2=['d','e','f']
// 连接两个数组
let c=a1.concat(a2)
console.log(c)
const a3=['g','h']
//连接多个数组
let c2=a1.concat(a2,a3)
console.log(c2)
  • indexOf 方法 查看元素是否在数组内,在的话返回下标,不在返回-1
const colors=['red','yellow','orange']
console.log(colors.indexOf('yellow'))//1
console.log(colors.indexOf('blue'))//-1
  • lastIndexOf方法 查找元素数组最后出现的下标,没有返回-1
const ages = [20, 14, 30, 20, 50, 26]
console.log(ages.lastIndexOf(20))//3
console.log(ages.lastIndexOf(70))//-1
  • includes方法 数组是否包含某个元素 包含返回true 不包含返回false
const fruits = ['banana', 'apple', 'pear']
console.log(fruits.includes('apple'))//true
console.log(fruits.includes('pineapple'))//false
  • isArray方法 判断某个对象是否是数组 是返回true 不是返回false
const ar = [100, 200]
console.log(Array.isArray(ar))//true
const str = 'haha'
console.log(Array.isArray(str))//false
  • toString方法 数组转为字符串
const ns = [1, 2, 3, 4]
console.log(ns.toString())//1,2,3,4
  • join方法 将数组拼接后以字符串返回,默认,(英文逗号)拼接
const teachers = ['李老师', '苍老师', '刘老师']
console.log(teachers.join()) //李老师,苍老师,刘老师
console.log(teachers.join("|")) //李老师|苍老师|刘老师
console.log(teachers.join(" $ ")) //李老师 $ 苍老师 $ 刘老师
  • slice方法 返回数组中的begin到end(不含end)位置元素组成的新数组 原数组不改变
const m = [1, 2, 3, 4, 5]
console.log(m.slice()) //[1,2,3,4,5]
console.log(m.slice(0)) //[1,2,3,4,5]
console.log(m.slice(0, m.length)) //[1,2,3,4,5]
console.log(m.slice(1, 4))//[2,3,4]
  • splice方法 删除数组元素并可以添加元素来修改原数组 会改变原数组 参数 1-删除元素的起始位置 2-删除的数量 3…-从删除的地方开始添加的元素
const n = [1, 2, 3, 4, 5]
n.splice(0, 1, 6, 6)
console.log(n) //[6, 6, 2, 3, 4, 5]

let spliceArr = [1, 2, 3, 4, 5]
spliceArr.splice(3, 3, "一", "二", "三")
console.log(spliceArr) //[1, 2, 3, '一', '二', '三']
  • push 从数组末端添加元素 pop 从数组末端移出元素
//push
const arr = ['张飞', '刘备']
arr.push('关羽')
console.log(arr) //['张飞', '刘备', '关羽']
//pop
console.log(arr.pop()) //关羽
console.log(arr) //['张飞','刘备']
  • unshift 从数组开头添加元素 shift 从数组开头移出元素
//shift unshift
const p = [1, 2, 3, 4, 5]
console.log(p.shift()) //1
console.log(p) // [2, 3, 4, 5]

p.unshift(1)
console.log(p)//[1, 2, 3, 4, 5]
  • reverse 翻转数组 会改变原数组
//reverse
const a = [2, 4, 6, 8, 10]
a.reverse()
console.log(a)// [10, 8, 6, 4, 2]
  • sort 数组排序 默认会把元素转为字符串进行排序 可以传入比较的函数自定义排序规则 会改变原数组
//sort
const webTec = ['html', 'javascript', 'css']
webTec.sort()
console.log(webTec) //['css', 'html', 'javascript']
  • 二维数组 数组中的元素也可以是数组
const girls = ['lily', 'nami']
const boys = ['张三', '李四']
const all = [girls, boys]
console.log(all.length) //2
console.log(all[0]) // ['lily', 'nami']
console.log(all[1]) //['张三', '李四']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值