优秀的编程知识分享平台

网站首页 > 技术文章 正文

手把手教你Javascript (6)-数组(javascript10分钟速成)

nanyue 2024-09-08 06:01:19 技术文章 4 ℃

数组是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); //打印新数组


好了,今天数组的内容就到这里!

最近发表
标签列表