1,join()

  Array.join(),不改变原数组,将数组中所有元素转换为字符串并连接在一起,返回最后生成的字符串  

  1. let a=[1,2,3];
  2. a.join(); // =>"1,2,3"
  3. a.join(" "); // =>"1 2 3"
  4. a.join("-"); // =>"1-2-3"
  5.  
  6. let b=new Array(5);
  7. b.join("-"); // => "----" 4个连字号

2,reverse()

  Array.reverse(),改变原数组,将数组中的元素颠倒顺序,返回逆序后的数组  

  1. let a=[1,2,3];
  2. a.reverse(); // =>[3,2,1]

3,sort()

  Array.sort(),改变原数组,将数组中的元素排序,返回排序后的数组。

  不带参数时,数组元素按字母表顺序排序(如有必要将临时转化为字符串进行比较)  

  1. let a=['banana','cherry','apple'];
  2. a.sort() // =>['apple','banana','cherry']
  3.  
  4. let b=[3,2,1,4,5];
  5. b.sort(); // =>[1,2,3,4,5]
  6.  
  7. let c=['banana',2,'apple',3,'cherry',1];
  8. c.sort(); // => [1,2,3,'apple','banana','cherry']
  9.  
  10. let d=[1,2,10,100,20];
  11. d.sort(); // =>[1,10,100,2,20] 并不按大小排序,
  12. // 如果想要按数值大小排序, 需要一个函数作为参数 

  按照数值大小排序,必须给sort()方法传一个比较函数  

  1. let a=[1,2,10,100,20];
  2. a.sort(function(a,b){
  3. return a-b; //较小值在前
  4. }); // => [1,2,10,20,100]
  5.  
  6. a.sort((a,b)=>{
  7. return b-a; //较大值在前
  8. }); // =>[100.20,10,2,1]

4,concat()

  Array.concat(),不改变原数组,创建并返回一个新数组,新数组的元素包括调用concat()的原始数组和concat()的每个参数,如果任何一个参数是个数组,则连接的是数组的元素,而非数组本身

  1. let a=[1,2,3];
  2. a.concat(4,5); // => [1,2,3,4,5] a=[1,2,3]
  3.  
  4. a.concat(4,[5,6]); // =>[1,2,3,4,5,6] a=[1,2,3]
  5.  
  6. a.concat(4,[5,[6,7]]); // =>[1,2,3,4,5,[6,7]] a=[1,2,3]

5,slice()

  Array.slice(),不改变原数组,返回数组的一个片段或子数组,两个参数分别指定了片段开始(包括)和结束(不包括)的位置,如果只有一个参数,则表示返回的数组包含从开始位置到数组结尾的所有元素,如果参数是负数,则表示相对于数组最后一个元素的位置,-1表示数组最后一个元素

  1. let a=[1,2,3,4,5];
  2. a.slice(0,3); // => [1,2,3]
  3. a.slice(3); // =>[4,5]
  4. a.slice(1,-1); // =>[2,3,4]
  5. a.slice(-3,-1); // =>[3,4]

6,splice()

  Array.splice(),改变原数组,在数组中插入或删除元素,第一个参数指定插入或删除的起始位置,第二个参数指定删除元素的个数,如果省略,则删除从起始位置到数组结尾所有元素,第二个参数之后的任意个参数指定了要插入到数组中的元素

  1. let a=[1,2,3,4,5,6,7];
  2. a.splice(4); // =>删除从下标4开始到结尾 [5,6,7]
  3. //a=[1,2,3,4]
  4. a.splice(1,2); // =>删除从下标1开始,2个元素 [2,3]
  5. // a=[1,4]
  6. a.splice(1,0,'a','b'); //=>删除从下标1开始,0个元素,[]
  7. // 从下标1开始增加 'a','b' , a=[1,'a','b',4]
  8. a.splice(1,2,[1,2],3); // => 删除从下标1开始,2个元素,['a','b']
  9. // =>从下标1开始增加[1,2],3 a=[1,[1,2],3,4]

7,push()

  Array.push(),改变原数组,在数组结尾添加1个或多个元素,返回新数组的长度

  1. let a=[];
  2. a.push(1,2); // => 2
  3. // a=[1,2]
  4. a.push([3,4],5); // => 4
  5. // a=[1,2,[3,4],5]

8,pop()

  Array.pop(),改变原数组,删除数组的最后一个元素,返回被删除的值

  1. let a=[1,2,3,[4,5]];
  2. a.pop(); // =>[4,5]
  3. // a=[1,2,3]
  4. a.pop(); //=> 3
  5. // a=[1,2]

9,unshift()

  Array.unshift(),改变原数组,在数组头部添加元素,返回新数组的长度

  1. let a=[];
  2. a.unshift(1,[2,3],4); //=> 返回数组长度 3
  3. // a=[1,[2,3],4]

10,shift()

  Array.shift(),改变原数组,删除数组的第一个元素,返回删除的元素

  1. let a=[1,[2,3],4];
  2. a.shift(); //=> 1
  3. // a=[[2,3],4]
  4.  
  5. a.shift(); //=>[2,3]
  6. // a=[4]

11,toString()

  Array.toString(),不改变原数组,这个方法将数组中每个元素转为字符串,返回用逗号分隔的字符串列表,注意:输出不包括任何分隔符,比如方括号[]

  1. let a=[1,[2,3],4];
  2. a.toString(); //=> '1,2,3,4'
  3. // a=[1,[2,3],4]

12,forEach()

  Array.forEach(function(v,i,arr){

  })

  不改变原数组,遍历数组,为每个元素调用指定的函数,3个参数分别是: v    数组元素; i   元素索引; arr  数组本身

  1. let a=[1,2,3,4];
  2. let sum=0;
  3. a.forEach(function(v){
  4. sum+=v;
  5. });
  6. console.log(sum); //=> 10
  7.  
  8. a.forEach(function(v,i,arr){
  9. arr[i]=v+1;
  10. });
  11. console.log(a); //=> [2,3,4,5]

13,map()

  Array.map(function(v){

    return v

  })

  不改变原数组,将数组的每个元素传递给指定的函数,返回一个新数组。传递给map()的函数要有返回值

  1. let a=[1,2,3];
  2. a.map(function(v){
  3. return v*v;
  4. }); //=>[1,4,9]

14,filter()

  Array.filter(function(v,i){

      return  ---

  })

  不改变原数组,返回数组的子集,传递的函数用来逻辑判定,如果函数返回值为true,或者能转化为true,则传递给函数的元素就是子集的成员

  1. let a=[1,2,3,4,5];
  2. a.filter(function(v){
  3. return v>3;
  4. }); //=> [4,5]
  5.  
  6. a.filter(function(v,i){
  7. return i%2==0;
  8. }); // =>[1,3,5]

15,every()

  Array.every(function(v){

    return ---

  })

  不改变原数组,对数组元素用指定的函数进行判定,当所有元素调用判定函数都返回true,Array.every()返回true

  1. let a=[1,2,3,4,5];
  2. a.every(function(v){
  3. return a<10;
  4. }); //true

16,some()

  Array.some(function(v){

    return ---

  })

  不改变原数组,对数组元素用指定的函数进行判定,只要有1个元素调用判定函数返回true,Array.some()就返回true

  1. let a=[1,2,3,4,5];
  2. a.some(function(v){
  3. return v>4;
  4. }); //=> true

17,reduce()

  Array.reduce(),不改变原数组,使用指定的函数将数组元素进行组合,生成单个值,reduce()两个参数,第一个是简化操作的函数,第二个(可选)是传给函数的初始值,reduceRight()与reduce()相同,只是它从结尾开始计算

  1. let a=[1,2,3,4];
  2. a.reduce(function(x,y){
  3. return x+y;
  4. },5); //=> 15 5+1 => 6+2 => 8+3 => 11+4
  5.  
  6. a.reduce(function(x,y){
  7. return x>y?x:y;
  8. }); //=> 4

18,indexOf() 

  Array.indexOf(),搜索数组中与给定值相同的元素,返回找到的第一个元素的索引,没有找到就返回-1

  1. let a=['a','b','c'];
  2. a.indexOf('b'); //=> 1 a[1]是'b'
  3. a.indexOf(1); //=> -1 a中没有1

  Array.lastIndexOf(),与indeOf()相同,只是它从数组末尾开始搜索

19,isArray()

  Array.isArray(),判断一个对象是否是数组

  1. Array.isArray([]); //=> true
  2. Array.isArray({}); //=>false

javascript基础(Array)的更多相关文章

  1. JavaScript基础系列目录(2014.06.01~2014.06.08)

    下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...

  2. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  3. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  4. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  5. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  6. javascript基础部分

    javascript基础部分 1  数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...

  7. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  8. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  9. 小试牛刀3之JavaScript基础题

    JavaScript基础题 1.让用户输入两个数字,然后输出相加的结果. *prompt() 方法用于显示可提示用户进行输入的对话框. 语法: prompt(text,defaultText) 说明: ...

  10. 小试牛刀2:JavaScript基础题

    JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...

随机推荐

  1. ASP.NET Core 项目配置 ( Startup )(转载)

    原文:https://www.twle.cn/l/yufei/aspnetcore/dotnet-aspnet-startup.html 由于是个人网站,怕没了,特意复制保存,个人觉得讲的非常透彻 前 ...

  2. 简单python接口测试编写和django开发环境的搭建

    安装django环境 启动django D:\python\imooc>python manage.py runserver 0.0.0.0:8000 命令行下django新建app D:\py ...

  3. SQL Server 数据库限制单用户使用和解除单用户使用

    一个在单用户(SINGLE_USER)模式下的数据库一次只能有一个连接.在限制用户(RESTRICTED_USER)模式下的数据库只能接受被认为是“合格”用户的连接——这些用户属于dbcreator或 ...

  4. c++入门篇七

    拷贝构造函数的调用时机: class Person { public: //构造函数 Person() { //无参构造函数 } Person(int a) { //有参构造函数 cout <& ...

  5. MySQL时区错误导致server time zone value 'Öйú±ê׼ʱ¼ä' 错误

    时区错误 由于中国是东八区,跟mysql配置不同,需要修改: 管理员登录MySQL OK成功

  6. java springboot 大文件分片上传处理

    参考自:https://blog.csdn.net/u014150463/article/details/74044467 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时 ...

  7. Gradle 打包上传至私有仓库配置

    allprojects{ apply plugin: 'java' apply plugin: 'idea' apply plugin: 'maven' group 'com.xxxxx.base' ...

  8. sqlserver给用户配置存储过程查看权限

    对应的数据库->安全性->用户名右键属性-->安全对象-->指定所有对象-->选择服务器,里边有一个 查看定义(view any definition) 选项,勾上.

  9. python2用pip进行安装时报错Fatalerrorinlauncher:Unabletocreateprocessusing"

    win10下python3和python2共存环境 用pip安装一个包执行pip2 install xxx的时候报错Fatal error in launcher: Unable to create ...

  10. Win10家庭版WindowsUpdate属性为灰色

    一般的取消Windows更新只需要打开任务管理器,点击服务 然后点击左下角的打开服务 找到WindowsUpdate,右键属性 按照正常的电脑只要在启动类型中选择禁用,然后在恢复里的第一次操作选择无操 ...