浅谈JS数组的概念以及基本用法
Admin 2021-04-16 群英技术资讯 2313 次浏览

查看对象属性的方法在数组身上也同样适用。值得注意的是:数组的下标类型为字符串,并不是数字。
典型数组和js数组区别
类似c/c++的典型数组特征如下:
上图说明的是最后一点:数组可以有任何key,想证明数组的下标为字符串,用 Object.keys(arr)
创建数组有两种方式,分别是:
let arr=[1,2,3] let arr=new Array(1,2,3)
字符串转化为数组 split() Array.from()
可以用这两种方法将字符串转化为字符串数组。
没有数组共有属性的数组就是伪数组(伪数组的原型链中并没有数组的原型)

伪数组中并没有push,pop等方法(通过 console.dir(divList) 可看出),我们可以通过 Array.from() 来转化

转化之后就可以成功的push啦
此方法不会改变原数组
let arr1=[1,2,3] let arr2=[4,5,6] arr1.concat(arr2)//[1,2,3,4,5,6] arr1//[1,2,3] arr2//[4,5,6]
此方法不会改变原数组
let arr=[1,2,3,4,5,6] arr.slice(3) //[4,5,6] arr//[1,2,3,4,5,6]
删头部元素: arr.shift() arr会被修改,并返回被删元素
let arr=[1,2,3,4,5,6] arr.shift()//1 arr//[2, 3, 4, 5, 6]
删尾部元素: arr.pop() arr会被修改,并返回被删元素
let arr=[1,2,3,4,5,6] arr.shift()//6 arr//[1, 2, 3, 4, 5]
删中间:
arr.splice(index,1) //删除index的第一个元素,返回被删元素 arr.splice(index,1,'x') //在删除位置添加'x' ,返回被删元素 arr.splice(index,1,'x','y') //在删除位置添加'x'和'y',返回被删元素
let arr=[1,2,3,4,5,6,7,8,9] //删除元素4 arr.splice(3,1)//4 arr//[1, 2, 3, 5, 6, 7, 8, 9] let arr=[1, 2, 3, 5, 6, 7, 8, 9] //删除下标3并添加3.5和4 arr.splice(2,1,3.5,4)//3 arr//[1, 2, 3.5, 4, 6, 7, 8, 9]
查看属性
let arr=[1,2,3,4,5] arr.x='xxx' Object.keys(arr)//["0", "1", "2", "3", "4", "x"] Object.values(arr)// [1, 2, 3, 4, 5, "xxx"]
for in 循环

查看只含数字的元素
for循环

forEach循环

查看某个元素是否在数组里
arr.indexOf(item) 存在则返回数组索引,否则返回-1
let arr=[1,2,3,4,5,6] arr.indexOf(2)//1 arr.indexOf(7)//0
使用条件查找元素
//查找第一个为偶数的元素 let arr=[1,2,3,4,5,6] arr.find(item=>item%2===0)//2 //查找第一个为偶数的下标 let arr=[1,2,3,4,5,6] arr.findIndex(item=>item%2===0)//1
增加数组中的元素
在尾部添加: arr.push(item1,item2)
let arr=[3,4,5,6] arr.push(7,8,9) arr//[3,4,5,6,7,8,9]
头部添加: arr.unshift(item1,item2)
let arr=[3,4,5,6] arr.unshift(1,2,3) arr//[1, 2, 3, 3, 4, 5, 6]
在中间添加: arr.splice(index,0,'x')
let arr=[1,2,3,4,5,6,7] //在下标为2的位置添加3.33,3.44 arr.splice(2,0,3.33,3.44)//[1, 2, 3.33, 3.44, 3, 4, 5, 6, 7]
以上就是关于JS数组的介绍,有需要的朋友可以多看看,自己动手实现一些效果。希望上述内容对大家有帮助,更多JS数据内容大家可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
最近做了一个比较老的vue项目,启动居然各种报错,下面这篇文章主要给大家介绍了关于Vue常见报错以及解决方案的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
因为现在vue的流行,vue的各种插件都出来了,我们公司也是使用vue做项目,那么应该如何封装,本文就介绍一下如何封装,感兴趣的可以了解一下
本文给大家分享的是window下自带name的属性的内容,一些朋友可能对于window的name属性的作用和使用等等,不是很了解,对此这本文就简单的介绍一下,接下来我们一起了解看看吧。
微信小程序的图片选择控件怎样实现?在使用微信小程序上传图片时,一般我们都需要用到图片选择控件,这样我们能比较便捷的从手机本地相差将图片上传到微信上,那么小程序的图片选择控件效果是如何实现的呢?下面我们一起来学习一下。
本文是主要给大家介绍Vue中reactive和ref的内容,接下来会分别介绍reactive和ref的用法以及两者的区别,对大家学习和理解reactive和ref的使用有一定的参考价值,感兴趣的朋友接下跟随小编一起学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008