javascript基础(Array)

1,join()

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

let a=[1,2,3];
a.join();   //  =>"1,2,3"
a.join(" ");  // =>"1 2 3"
a.join("-");  // =>"1-2-3"

let b=new Array(5);
b.join("-");  // => "----" 4个连字号

2,reverse()

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

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

3,sort()

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

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

let a=[‘banana‘,‘cherry‘,‘apple‘];
a.sort()  // =>[‘apple‘,‘banana‘,‘cherry‘]

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

let c=[‘banana‘,2,‘apple‘,3,‘cherry‘,1];
c.sort(); // => [1,2,3,‘apple‘,‘banana‘,‘cherry‘]

let d=[1,2,10,100,20];
d.sort(); // =>[1,10,100,2,20]   并不按大小排序,
             // 如果想要按数值大小排序, 需要一个函数作为参数 

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

let a=[1,2,10,100,20];
a.sort(function(a,b){
   return a-b;    //较小值在前
});    // => [1,2,10,20,100]

a.sort((a,b)=>{
   return b-a;   //较大值在前
});  // =>[100.20,10,2,1]

4,concat()

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

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

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

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

5,slice()

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

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

6,splice()

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

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

7,push()

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

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

8,pop()

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

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

9,unshift()

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

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

10,shift()

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

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

a.shift();   //=>[2,3]
             //  a=[4]

11,toString()

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

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

12,forEach()

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

  })

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

let a=[1,2,3,4];
let sum=0;
a.forEach(function(v){
   sum+=v;
});
console.log(sum);   //=>  10

a.forEach(function(v,i,arr){
   arr[i]=v+1;
});
console.log(a);    //=>  [2,3,4,5]

13,map()

  Array.map(function(v){

    return v

  })

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

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

14,filter()

  Array.filter(function(v,i){

      return  ---

  })

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

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

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

15,every()

  Array.every(function(v){

    return ---

  })

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

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

16,some()

  Array.some(function(v){

    return ---

  })

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

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

17,reduce()

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

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

a.reduce(function(x,y){
    return x>y?x:y;
});     //=>  4

18,indexOf() 

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

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

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

19,isArray()

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

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

原文地址:https://www.cnblogs.com/yabolahan/p/10695970.html

时间: 2024-08-30 15:05:48

javascript基础(Array)的相关文章

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

下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%20%E6%80%BB%E7%BB%93/ 1. Javascript基础---语法(待完成) 2. JavaScript基础---数据类型(待完成) 3. JavaScript基础---Array数组(待完成) 4. JavaScript基础---正则表达式(待完成) 5. Jav

Javascript.01 -- Javascript基础

Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和sun合作. Java+script   ===> javascript 1.2 W3c规范 ?结构标准        html ?表现标准   css ?行为标准      js 1.3 JavaScript和ECMAScript的关系 ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

Javascript基础篇小结

Javascript基础篇小结 字数9973 阅读3975 评论7 喜欢28 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器本身也是一个应用程序 浏览器本身只懂得解析HTML 调用浏览器这个应用程序的一个功能绘制 1.javascript介绍 JavaScript操作DOM的本质是=获取+触发+改变 目的:就是用来操作内存中的DOM节点 修改D

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

JavaScript 中Array数组的几个内置函数

本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工作中能方便查询,故编写此随笔.直接贴代码, function arrayEffect(){ var numbers = [1,2,3,4,5,6,7,8,9,10]; //------------------------------------ 支持浏览器版本 IE9+,Firfox 2+ ,Safair 3

JavaScript基础细讲

JavaScript基础细讲 JavaScript语言的前身叫作Livescript.自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原有的Livescript 重新进行设计,并改名为JavaScript. JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动.使用它的目的是与HTML超文本标识语言.Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组