JavaScript数组的学习

1数组的创建

1 var arr1 = new Array();
2 var arr2=[1,2,3];

2数组常用的方法:

push,pop,shift,unshift,splice,slice,sort,reverse

2.1 push方法:在元素尾端插入元素

1  var arr=[1,2,3];
2  var result = arr.push(1,3,4);//返回新数组的长度
3  console.log("arr:"+arr);
4  console.log("result:"+result);

结果:

arr:1,2,3,1,3,4
result:6

2.2 pop方法:在元素末端弹出一个元素

1 var arr=[1,2,3];
2 var result = arr.pop();//返回弹出元素的值
3 console.log("arr:"+arr);
4 console.log("result:"+result);

结果:

arr:1,2
result:3

2.3 shift方法:在元素的首位弹出一个元素

1 var arr=[1,2,3];
2 var result = arr.shift();//返回弹出元素的值
3 console.log("arr:"+arr);
4 console.log("result:"+result);

结果:

arr:2,3
result:1

2.4 unshift方法: 在元素的首位插入元素

1 var arr=[1,2,3];
2 var result = arr.unshift(4,5);//返回新数组的长度
3 console.log("arr:"+arr);
4 console.log("result:"+result);

结果:

arr:4,5,1,2,3
result:5

2.5 splice方法: 对数组截取,然后插入数据,直接操作数组本身

1 var arr=[1,2,3,4,5];
2 arr.splice(1,2,3,4);
3 console.log("arr:"+arr);

结果:

arr:1,3,4,4,5

分析:

第一个参数:截取开始的位置

第二个参数:截取的个数

第二个参数以后:插入的数据,如果没有第三个参数,则不插入

2.6 slice方法: 对数组截取,但不对数组本身操作

1 var arr=[1,2,3,4,5];
2 var result =arr.slice(2,4);
3 console.log("arr:"+arr);
4 console.log("result:"+result);

结果:

arr:1,2,3,4,5
result:3,4

分析:

第一个参数:截取开始的位置 为为闭区间

第二个参数:截取结束的位置 为开区间

如:[2,4)

2.7 concat方法: 对数组拼接,但不操作数组本身

1 var arr1 =[1,2,3];
2 var arr2=[3,4,5];
3 var result = arr1.concat(arr2);
4 console.log("arr1:"+arr1);
5 console.log("arr2:"+arr2);
6 console.log("result:"+result);

结果:

arr1:1,2,3
arr2:3,4,5
result:1,2,3,3,4,5

2.8 join方法: 对数组每个元素之间插入元素,但不操作数组本身

1 var arr =[1,2,3];
2 var result =arr.join("-");
3 console.log("arr:"+arr);
4 console.log("result:"+result);

结果:

arr:1,2,3
result:1-2-3

2.9 reverse方法: 把数组里的元素的位置倒过来

1 var arr =[1,2,3];
2 var result =arr.reverse();
3 console.log("arr:"+arr);

结果:

arr:3,2,1

2.10 sort方法: 把数组里元素排序(有缺陷)

1 var arr =[4,10,1,5];
2 var result =arr.sort();
3 console.log("arr:"+arr);

结果:

arr:1,10,4,5

分析:

在比较的过程中这个10是先按第一位比较再按第二位比较,所以排在了1后面,4前面。

2.11 sort方法扩张

 1         var arr =[4,10,1,5];
 2         function  compare(value1,value2){//自定义排序规则
 3             if(value1>value2){
 4                 return 1;
 5             }else if(value1<value2){
 6                 return -1;
 7             }else{
 8                 return 0;
 9             }
10         }
11         var result =arr.sort(compare);使用自定义的排序规则 实现从小到大排序 要想实现从大到小 修改排序规则
12         console.log("arr:"+arr);

结果:

arr:1,4,5,10

时间: 2024-10-11 22:34:56

JavaScript数组的学习的相关文章

JavaScript权威设计--JavaScript数组(简要学习笔记九)

1.数组的创建 如: var a=[1.1,null,"a"]; var b=[1, ,3]; //中间的那个元素是undefined var c=[ , , ] 这里c.length你是不是以为是3? 哈哈,长度应该是2.因为数组直接量的语法允许有可选的结尾逗号. 2.数组索引的其他种类 a[-1.23]=true    //创建一个名为-1.23的属性 a["1000"]=0    //如果是字符串,它就转换为数组的索引 a[1.000]    //和a[1]相

Javascript -- 数组方法学习

1.Array.from() 参考文献 这个方法比较有意思,可以将一个类似数组或可迭代对象分割,然后将值返回为一个新数组 伪数组对象(拥有一个 length 属性和若干索引属性的任意对象) 可迭代对象](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/iterable)(可以获取对象中的元素,如 Map和 Set 等) 这个方法有三个参数,第一个就是要转换成数组的伪数组或者可迭代对象,第二个参数就是相当于一个map方法,

JavaScript中的数组的学习

JavaScript中的数组的学习 数组的长度可变,数组的长度等于所有元素索引+1 同一个数组中的元素类型可以互不相同 访问数组元素时不会产生数组越界,访问未被赋值的数组元素时该元素的值为undefined. <!DOCTYPE html> <html> <head> <script type="text/javascript"> var a = [3,5,23]; var b=[]; var c = new Array(); b[0]

RX学习笔记:JavaScript数组操作

RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.unshift(123); array.unshift("value1","value2"); push() 在数组末尾添加元素 array.push("value"); array.push(123); array.push("value1&

Javascript设置广告和时间表和数组的学习

1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title></title> 5 </head> 6 <body> 7 <hr> 8 <h1>2:使用window.open() 是一个广告?</h1> 9 <input type="submit" onclick="" value

[前端JS学习笔记]JavaScript 数组

一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {"json:":"666"}]; console.log(arr.length); 二.JavaScript 数组的两种声明 1.var arr = [元素]; var arr = ["坚持"]; 2.new Array(); 或者 var arr2 =

JavaScript数组方法对比(深度学习数组)

JavaScript数组方法对比 众所周知,JavaScript提供了许多对数组进行改变的方法,但是有些会对原数组进行影响,有些不会.下边就列举出来. 一.新增 影响原数组 array.push()  //向数组的末尾添加一个或更多元素,并返回新的长度. var array =[1,2,3,4,5]; array.push(6); // [1,2,3,4,5,6]; array.unshift() //向数组的开头添加一个或更多元素,并返回新的长度. var array =[1,2,3,4,5]

JavaScript 数组去重

JavaScript 数组去重 Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多.为什么是 underscore?最主要的原因是 underscore 简短精悍(约 1.5k 行),封装了 100 多个有用的方法,耦合度低,非常适合逐个方法阅读,适合楼主这样的 JavaScript

JavaScript高级程序设计学习笔记--基本概念

1.语句 ECMAScript中的语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾,如下例所示: var sum=a+b //即使没有分号也是有效的语句--推荐 var diff=a-b; //有效的语句--推荐 虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它.两个原因:1.加上分号可以避免很多错误 2.加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间 推测应该在哪里插入分号了. 2.变量 var message="hi"; 像这样初始化变量