网站首页 > 文章精选 正文
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 多多训练,就能驾驭数组。
猜你喜欢
- 2025-01-14 2014年最优秀JavaScript编辑器大盘点
- 2025-01-14 三年级数学下册:第四单元试卷附答案(可下载打印)
- 2025-01-14 在浏览器中进行深度学习:TensorFlow.js (五)构建一个神经网络
- 2025-01-14 【JS逆向百例】酷某音乐 wasm 逆向
- 2025-01-14 TensorFlow.js,让你的应用更加高级,更具逼格
- 2025-01-14 Web前端学习6个有效果软件!看看哪些你用的上
- 2025-01-14 每日JS逆向练习之斗鱼登录密码加密,今天你逆了吗?
- 2025-01-14 Node.js基于Linux安装步骤
- 2025-01-14 Html5第十二天练习
- 2025-01-14 JavaScript求数组最大值、最小值和平均数的几种常用方法
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)