js 数组 api

1.sort()

arr.sort([function])

对数组元素排序。在原数组上排序,并返回这个数组。

(1)若没有function,按ascii字母顺序排序

var arr = [10,60,300,50,80];
arr.sort();
console.log(arr) //[10,300,50,60,80]

(2)若有function,该函数比较两个值,返回一个说明这两个值相对顺序的数字。

a.若function(a,b)小于0,a排在b前面。

b.若function(a,b)大于0,a排在b后面。

c.若function(a,b)大于0,a与b相对位置不变。

var arr = [10,60,300,50,80];
    arr.sort(function(a,b){
      return a - b;
    });
    console.log(arr);//[10,50,60,80,300]

var objArr = [
      {id:1,count:12},
      {id:2,count:3},
      {id:3,count:8},
      {id:4},
      {id:5,count:20}
    ];
    objArr.sort(function(a,b){
      if(a.count < b.count){
        return -1;
      }
      if(a.count > b.count){
        return 1;
      }
      return 0;
    })
    console.log(objArr);//[{id:2,count:3},{id:3,count:8},{id:1,count:12},{id:4},{id:5,count:20}]

2.concat()

arr.concat([item],[item],[...],[item])

连接两个或多个数组,不修改原数组,返回一个新数组。

item可以是具体的值,也可以是数组。若item是数组,把数组的元素添加到目标数组中。若没有item,生成一个目标元素的副本。

var arr = [10,60],
    arr1 = [20,30],
    arr2 = [[30,10],[12]];
var newArr = arr.concat(arr1,arr2,0);
console.log(newArr);//[10,60,20,30,[30,10],[12],0]    

3.splice()

arr.splice(start,[deleteCount],[item],[item],[...],[item])

插入、删除或替换数组元素,修改原数组。返回删除的元素组成的数组,若没有删除元素,返回一个空数组。

start:规定添加、删除元素的位置。start从0开始计算,删除、添加操作都包含start这个位置。start超过数组长度,添加元素从数组末尾开始添加。若start为负值,表示从数组末尾开始的第几位,-1表示倒第一个元素,-2表示倒第二个元素。

deleteCount:如果没有此参数,删除从start开始到结尾的所有元素。

item:添加的新元素。

var arr = [10,5,30,29,6,30],
      rtArr;
    rtArr = arr.splice(1,1);
    console.log(rtArr);//[5]
    console.log(arr);//[10,30,29,6,30]

    rtArr = arr.splice(4,0,100,120);
    console.log(rtArr);//[]
    console.log(arr);//[10,30,29,6,100,120,30]

    rtArr = arr.splice(-2,2,1000,1001);
    console.log(rtArr);//[120,30]
    console.log(arr);//[10,30,29,6,100,1000,1001]

4.slice()

arr.slice(start,end)

返回一个新数组,包含从start到end(不包含该元素)的arr中的元素。

若start或end的值为负值,表示从末位开始的第几位,-1表示倒数第一个,-2表示倒数第2个,以此类推。

var arr = [10,5,30,29,6,30],
      newArr;

    newArr = arr.slice(-4,-2);
    console.log(newArr);//[30,29]

    newArr = arr.slice(1,5);
    console.log(newArr);//[5,30,29,6]

5.reverse()

arr.reverse()

颠倒数组元素的位置,改变原来的数组。

var arr = [10,5,30,6,30];
    arr.reverse();
    console.log(arr);//[30,6,30,5,10]

6.unshift(), shift(), pop(), push()

arr.unshift(elem1,[elem2],[...],[elemN])

向数组的开头添加一个或更多元素,并返回新的数组的长度。

arr.shift()

删除数组的第一个元素,并返回数组的第一个元素的值。

arr.pop()

删除数组的最后一个元素,并返回数组的最后一个元素。

arr.push(elem1,[elem2],[...],[elemN])

向数组的末尾添加一个或多个元素,并返回新的数组的长度。

7.join()

arr.join([separator])

将数组中的所有元素连接成一个字符串。

如果没有参数separator,默认使用逗号作为分隔符。

ES5(数组)

浏览器支持:

Opera 11+

Firefox 3.6+

Safari 5+

Chrome 8+

Internet Explorer 9+

时间: 2024-10-12 22:51:42

js 数组 api的相关文章

js中数组API以及ES6总结

1. 数组API2. ES6: 1. 数组API: 遍历: 对数组中每个元素执行相同的操作 arr.forEach(): 对原数组中每个元素执行相同的操作 arr.forEach(function(elem,i,arr){ //对当前元素执行操作,并保存回原数组的当前位置}) arr.map(): 复制出原数组中每个元素,执行相同操作后,放入新数组返回.原数组保持不变. var newArr=arr.map(function(elem,i,arr){ return 新值}) 过滤和汇总: 过滤:

JS数组操作API ------【那些年一不留神踩的坑】

数据处理对于我们前端工程师而言,那可谓是每天都要面对的事情,今天我们就来总结一下在处理数组时,常用到的一些数组API,以及一些易错点...[前方干货,Are you ready? Go!] 概览数组API: 事实上,我们可以大致把数组 api 归结为以下几种功能:分合.调序.截取.遍历(判断.筛选.查找) 会改变原数组的:  reverse,  sort,  splice 不会改变原数组的: slice,  indexOf,  join,  concat, every,  some,includ

数组Array、数组API

1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量名=[]; 创建一个空数组 何时使用:暂时不知道数组中的元素内容时(2)var 变量名=[值1,值2,...]; -->创建数组同时,初始化数组中的数据(3)var 变量名=new Array(); 创建一个空数组 new:在window之外,创建一个新空间,保存多个数据 返回新空间的地址! 注意:

Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名

原文:Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名 源代码下载地址:http://www.zuidaima.com/share/1550463397874688.htm HMacMD5 加密纯 Java 实现,用于淘宝客 JS 组件 API 调用时生成 sign 的签名 另外:给大家贴一段淘宝客组件 API (JS API) 调用时,生成签名的核心代码. 另外:从事淘宝客开发的童鞋,碰到啥问题可以找我交流!!! String timestamp =

[jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)

--------------------------------------------------------------------------------------------------- 从一个例子中看JS数组和对象的分工合作: /** * JS数组与对象使用.(传递多条json数据,实例局部) * @黑眼诗人 <www.chenwei.ws> */ function importL() { if(confirm('Sure?')) { var arr = []; var json

JS 数组的几个炫酷操作

前言 本文主要从应用来讲数组api的一些骚操作,如一行代码扁平化n维数组.数组去重.求数组最大值.数组求和.排序.对象和数组的转化等. 上面这些应用场景你可以用一行代码实现吗? 1.扁平化n维数组1.终极篇 [1,[2,3]].flat(2) //[1,2,3] [1,[2,3,[4,5]].flat(3) //[1,2,3,4,5] [1[2,3,[4,5[...]].flat(Infinity) //[1,2,3,4...n] Array.flat(n)是ES10扁平数组的api, n表示维

关于js数组的一道小考题

网上看到的一道关于js数组的小考题,借此学习练习一下,也是拿来作为博客开篇之作吧! 题目如下: 给定一个随机数组,数组可能包含数组(也就是说数组元素可能为数组).要求用js实现一个函数,返回该数组中所有元素,重复的要求去掉.例如:数组[2,3,[4,6,[3,8]],12,10],返回结果为:[2,3,4,6,8,12,10]. 我的答案如下:(额外增加了排序) 1 var arr = [2,3,[4,6,[3,8,[15,16,[17,18,[1,2,3,[19,20]]]]],[13,14]

js数组知识

js数组 shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined Javascript代码 var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 Javascript代码 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总

js数组的操作

转载 js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限