重学 JavaScript 数组

什么是数组?

        数组是一种特殊的变量,它能够一次存放一个以上的值。数组的类型可以是任意类型!!!

如何创建数组?(new Array)

        1.常规方式

var arr = new Array(2); // 创建一个长度为3的数组! 前面的[0][1][2],表示的是索引
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

        2.简洁方式

var arr = new Array(1,2,3); //创建一个元素为1,2,3,长度为3的数组

        3.字面量表示法。数组里面的数据一定要用逗号隔开;

var arr = [1,2,3,4];
var arr = [];  // 空数组

如何访问数组?

        可以通过索引来访问数组,索引是数组的序号,数组索引是从0开始数的!

格式:

        数组名 [ 索引号 ];

var arr = [1 , 2 , 3 , 4 ];
索引:      0   1   2   3 

        我们可以通过索引直接访问数组中的元素! , 如果没有这个数组的元素,就会输出结果 undefined;

var arr = [1 , 2 , 3 , 4 ];
console.log(arr[2]);  //  浏览器打印出来索引为2的元素就是 3,因为索引是从0开始的

        索引不光可以取值,还可以赋值

var arr = [1,2,3,4];
arr[1] = 16;
console.log(arr);  //浏览器打印出来就为:1, 16, 3, 4

// 直接将 16 赋值给索引为 1 的元素

push   意思是在数组的末尾添加一个和多个新元素  (常用)

var arr = [1,2,3,4];
arr.push(99,78);
console.log(arr);   // 浏览器解析出来就是 1, 2, 3, 4, 99, 78

pop  意思是删除并返回数组的的最后一个元素(会改变原数组);

 var arr = [1,2,3,4];
 console.log(arr.pop());   // 删除最后一个 4;
 console.log(arr);  //现在变成 1,2,3

.sort(function(a,b) {return a-b});   数组进行排序

var arr = [2,58,4,7,48,637];
arr.sort(function(a,b) {return a-b}); // 这里需要注意的是 {return a-b}是从小到大,{return b-a}是从大到小
console.log(arr)  //(6) [2, 4, 7, 48, 58, 637]

unshift(item1,item2...)向数组前面添加一个或多个元素(会改变原数组);

var arr = [23,57,46];
arr.unshift(55,74);  // 在数组的前面添加一个或多个元素!
console.log(arr);  // 浏览器打印出来为 55,74,23,57,46

shift();删除数组中索引为0(第一个)的那个元素,并返回数组(会改变原数组);

var arr = [1,2,3,4];
arr.shift();  // 删除数组中索引为0的哪个元素,即删除 1
console.log(arr);  // 浏览器解析出来为 2,3,4

indexOf  返回元素在数组中所在的位置(索引值)从前往后第一个,没有的话 返回-1;

var arr = ["a", "b", "c", "d"];
var index = arr.indexOf("c");
console.log(index); // 2
var index2 = arr.indexOf("f");
console.log(index2); // 找不到返回-1

lastIndexOf  返回元素在数组中所在的位置(索引值) 从前往后找最后一个(也就是从后往前找第一个),没有的话返回-1;

var arr = ["a", "b","f","c", "f","d"];
var index = arr.lastIndexOf("f")
console.log(index);  //4  索引位置从0开始数

reverse();翻转数组的顺序,并重新排列(会改变原数组);

var arr = [1,2,3,4,5,6,7,8,9];
arr.reverse();  // 将原先的数组进行翻转
console.log(arr);  //解析出来为 9,8,7,6,5,4,3,2,1

splice(index,lenght,item,item...);    从index索引开始的位置,删除长度为几的元素,然后在将元素item1,item2添加到index索引开始的位置    (会改变原数组);

//index:索引开始的位置(从0开始数);    length 长度(删除几个)  ,item需要添加的元素
var arr = [2,3,4,5,6];
arr.splice(1,2,99,18);   //  从索引位置为1(从0开始数)开始,删除2个元素包括索引位置自己,将99  18 添加到索引位置为1的位置
console.log(arr);    // 浏览器解析出来为 2,99,18,5,6 

        
//如果从中间添加,就将长度length写为 0 就可以了

slice(index1,index2);  从index1开始截取至 index2,但不包含index2,以一个新的数组形式返回到截取到的元素      (不会改变原数组

var arr = [2,3,4,5,6];
console.log(arr=arr.slice(1,4));    //  截取索引位置为1到4位置的数,但不包括4

join(); 方法用于把数组中的所有元素放入一个字符串。元素是通过()中指定的分隔符进行分隔的。 如果()中没有写 就默认用 , 作为分隔符! (不会改变原数组);

var arr = ["3","18","27"];
console.log(arr.join("+"));  // 浏览器解析出来为 3+18+27
console.log(arr);  // 浏览器解析出来为3,18,27(不改变原数组)

concat(arr1,arr2...);  用来拼接两个或者多个数组并返回新的数组(不会改变原数组);

var arr1 = [1,2,3,4];
var arr2 = [5,6,7,8,9];
console.log(arr1.concat(arr2));  // 就第一个数组和第二个数组拼接到一起   解析出来是 1, 2, 3, 4, 5, 6, 7, 8, 9
console.log(arr1);  //但是不改变原数组  解析出来arr1 仍是 1,2,3,4
arr1 = arr1.concat(arr2);  //如果想要改变,就新数组赋值给原数组arr1
console.log(arr1);

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值