网站首页 > 教程文章 正文
Array
是一个用来构造数组的全局对象,它是一个高阶的类似有序列表的对象。
a、讲述基础之前,大家想一下怎么样遍历一个数组,既优雅有快速?
答案是:如果循环终止条件不需要进行比较运算,那么循环的速度还可以更快↓
把数组下标改成向 0 递减,循环终止条件只需要判断 i 是否为 0 就行了。因为循环增量和循环终止条件结合在一起,所以可以写成更简单的 while 循环:
// 最快且优雅的代码
var array = [0,1,2,3,4,5,6,7,8,9];
// while 循环var i = array.length;
while (i--) {
fn( array [ i ] );
}
接下来是Array对象的基础知识汇总:
1、数组表示:
var a = new Array(3);
var a = Array(3);
var a = [1,2,3];
2、以下这种表示在不同浏览器下,数组中元素个数不一:
var a = [,,];
在 IE 中 a数组的长度为3;
在其他浏览器中 a数组的长度为2.
3、数组的 length 属性有个特点:这个属性不是只读的,可以设置此属性,从而从末尾移除或向数组添加元素。
var num =[1,2,3];
alert(num.length); // 3
alert(num[2]) // 3
num.length =2;
alert(num[2]) // undefined
4、检测数组:
① value instanceOf Array 。
var a =[1,2,3,4];
a = > [1,2,3,4];
typeof a = > "object"
a instanceOf Array => true
② Array.isArray(value) => Boolean
5、转换方法:
所有的对象都具有toLocaleString()/toString()/valueOf() 方法。
toString() 方法 作用于数组对象之后,会返回数组中每个元素以字符串形式而成的一个以逗号分隔的字符串
例如:
var colors = ["red", "yellow", "green", "white",];
colors.toString() = "red,yellow,green,white";
6、通过索引访问数组元素:
var first = fruits[0]; // Apple
var last = fruits[fruits.length - 1]; // Banana
7、遍历一个数组:
fruits.forEach(function (item, index, array) {
console.log(item, index);
});
// Apple 0 // Banana 1
精析:
语法:array.forEach(callback[, thisArg])
参数:
callback:在数组每一项上执行的函数,接收三个参数:
currentValue
当前项(指遍历时正在被处理那个数组项)的值。
index
当前项的索引(或下标)。
array
数组本身。
thisArg
可选参数。用来当作callback 函数内this的值的对象。
8、添加元素到数组的末尾:
var newFruit = fruit.push("Orange");
9、删除数组末尾的元素:
var last = fruits.pop();
// remove Orange (from the end)
// ["Apple", "Banana"];
10、删除数组前面的元素:
var first = fruits.shift();
// remove Apple from the front
// ["Banana"];
11、添加到数组的前面:
var newLength = fruits.unshift("Strawberry")
// add to the front
// ["Strawberry", "Banana"];
12、找到某个元素在数组中的索引:
fruits.push("Mango");
// ["Strawberry", "Banana", "Mango"]
var pos = fruits.indexOf("Banana");
// 1
13、通过索引删除某个元素:
var removedItem = fruits.splice(pos, 1);
// this is how to remove an item
// ["Strawberry", "Mango"]
14、复制一个数组:
var shallowCopy = fruits.slice();
// this is how to make a copy
// ["Strawberry", "Mango"]
重点注意:创建的是当前数组的一个副本,通过传参返回新构建的数组!
索引值:index => 从0开始,最后一个为length -1 ;
15、属性:length
16、方法:好多....
至此,数组基础完毕,剩下的就是不断地练习和掌握,毕竟数组的方法很多很多,看好语法API 多多训练,就能驾驭数组。
- 上一篇: 你应该掌握的 10 种 JavaScript 对象处理技巧
- 下一篇: 浅析vue封装自定义插件
猜你喜欢
- 2025-05-23 你应该掌握的 10 种 JavaScript 对象处理技巧
- 2025-05-23 更简单的Vue3中后台动态路由 + 侧边栏渲染方案
- 2025-05-23 2023:Js中新增四个不修改原数组的方法
- 2025-05-23 常见vue面试题,大厂小厂都一样
- 2025-05-23 在vue实现element ui中的card(卡片中)使用多选和分页
- 2025-05-23 js数组常用方法总结
- 2025-05-23 php手把手教你做网站(三十八)jquery 转轮盘抽奖,开盲盒
- 2025-05-23 关于数组的操作方法
- 2025-05-23 javascript基础入门
- 2025-05-23 不产生新的数组,删除数组里的重复元素
- 05-25干货 | 一步步部署 Flask 应用
- 05-25别再去找Docker命令了,你要的常用的全都在这
- 05-25如果您删除Windows11上的“Program Files”文件夹会发生什么?
- 05-25家用nas最常用的docker容器及部署方法
- 05-25你好 dotnet run file, 再见 csproj
- 05-25China committed to continuing contributions to global health: delegation
- 05-25Chinese, German experts urge cooperation during Eurasia relations seminar
- 05-25Peace of paramount importance for region
- 最近发表
-
- 干货 | 一步步部署 Flask 应用
- 别再去找Docker命令了,你要的常用的全都在这
- 如果您删除Windows11上的“Program Files”文件夹会发生什么?
- 家用nas最常用的docker容器及部署方法
- 你好 dotnet run file, 再见 csproj
- China committed to continuing contributions to global health: delegation
- Chinese, German experts urge cooperation during Eurasia relations seminar
- Peace of paramount importance for region
- after和in用法解析
- China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)