网站首页 > 技术文章 正文
数组是Javascript中一种非常重要的数据结构!
它使用单独的变量名来存储一系列的值,代表现实世界中一个集体或者组的概念。
譬如定义一个水果的数组:
var fruits = new Array( "apple", "orange", "mango" );
或者直接这样:
var fruits = [ "apple", "orange", "mango" ];
然后,我就可以访问数组元素了,像这样:
console.log(fruits[0]) //得到“apple"
console.log(fruits[1]) //得到"orange"。
想得到数字里面元素的个数,可以使用数组的length属性:
fruits.length
怎么样来理解数组呢?我们可以理解为一个队列(类似于我们日常的排队),我找了一个图,大概像这样:
数组就看作这样一个队列,根据它的索引(0、1、2、3等等)来访问数组具体位置上面的值,访问length就可以得到队列中的人数。
数组提供了很多已有的函数让你调用,跟实际的队列也非常的类似。下面的内容,你可以跟着在脑子里面想象一个队列!
譬如我想插入一个元素到队首(插队这个不提倡啊),可以用unshift函数:
fruits.unshift("banana")
这样fruits就变成了:
banana,apple,orange,mango
如果想删除第一个元素(把banana吃掉),就使用shift(插队的GD):
fruits.shift()
fruits重新变回了:
apple,orange,mango
队尾操作也是类似的,他使用的函数是
fruits.push("purple");//队尾添加,来晚了,但我排队了
fruits.pop(); //队尾删除,不排了走了,等不起
下面是我们的一段代码,请大家实验一下(代码1):
//定义一个函数,打印数组里面的值
function PrintArray(arr1){
console.log("数组现在的值----------");
for(var i=0;i<arr1.length;i++) {
console.log(arr1[i]);
}
}
var fruits = [ "apple", "orange", "mango" ];
PrintArray(fruits);
fruits.unshift("banana");console.log("数组队首增加了banana----------");
PrintArray(fruits);
fruits.shift("banana");console.log("数组队首删除了banana----------");
PrintArray(fruits);
fruits.push("purple");console.log("数组队尾增加了purple----------");
PrintArray(fruits);
fruits.pop();console.log("数组队尾删除了purple----------");
PrintArray(fruits);
另外,数组还提供针对每一个元素的具体操作方法(用for循环访问也可以),这些方法都非常方便,都是通过js的匿名函数(就是一个没有名字的函数)来实现的。
举几个方法的例子,方法的说明如下:
forEach
每一个都调用
map
每一个都调用,并返回一个新数组filter
每一个都调用,返回符合条件的值到一个新数组
下面是一段实例代码(代码2):
//定义一个函数,打印数组里面的值
function PrintArray(arr1){
console.log("数组现在的值----------");
for(var i=0;i<arr1.length;i++) {
console.log(arr1[i]);
}
}
var arr2=[50,4,39,9]
console.log("数组forEach----------");arr2.forEach(function(i){
console.log(i); //打印每一个值
})
console.log("数组map----------");var arr3=arr2.map(function(i){
return i*i*i; //数的立方
}
)
PrintArray(arr3); //打印新的立方数组
console.log("数组filter----------");var arr4=arr2.filter(function(i){
return i>35; //只保留35以上的中年人
}
)
PrintArray(arr4); //打印新数组
好了,今天数组的内容就到这里!
猜你喜欢
- 2024-09-08 「JavaScript 从入门到精通」10.数组
- 2024-09-08 JS——数组的方法 & 高阶函数
- 2024-09-08 Javascript中的内置对象—数组(javascript内置对象应用的)
- 2024-09-08 js数组方法笔记(js的数组)
- 2024-09-08 JavaScript 数组元素的一些操作(javascript中数组)
- 2024-09-08 Javascript数组应用及场景——创建数组的N种方式详解
- 2024-09-08 详解JS数组API方法重构(js 数组 api)
- 2024-09-08 JS核心基础数组的操作概述(js数组原理)
- 2024-09-08 JavaScript操作数组的方式都有哪些
- 2024-09-08 vue中怎么向数组中插入,修改,删除元素
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)