javascript 常用的数组操作

join()

Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为“,”)。

与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组。

reverse()

Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组.

sort()

sort() 方法将数组中的元素排序并返回排序后的数组。sort()方法默认是按照字母表顺序进行排序的,如果想自定义排序的方式,可以传入一个比较大小的函数作为参数,如下所示:

var a = [4,2,8,6];
a.sort(function(a,b){
    return a-b;
});
console.log(a);

在此说明一下比较大小函数的使用:这个函数决定了元素的先后位置。假设第一个参数应该在在前,比较函数应该返回一个小于 0 的值,反之,则返回一个大于 0 的值。

concat()

concat() 方法创建并返回一个数组,返回的数组包含了原始数组里的元素和concat()里各个参数。注意concat()是否返回一个新的数组,而不会修改原来的数组。

slice()

slice(start,/* optional */ end) 方法返回指定数组的子数组。此方法有两个参数,第一个参数指定了开始的位置,第二个参数指定结束的位置,返回的元素索引范围[start,end)。如果不指定 end,表示返回从 start 到 数组结尾的所有元素。

splice()

splice()方法在数组里插入或删除元素。插入或删除元素时,原有元素的索引会根据需要增加或减少。splice() 方法的第一个参数指定了插入或删除的位置,第二个参数指定了删除元素的个数,之后的不定个参数为添加到数组里的元素。

var a = [1,2,8,6];
a.splice(1,3);    //删除元素
console.log(a);    //[1]
a.splice(1,0,2,3,4,5,6);    //往数组里插入元素 2,3,4,5,6
console.log(a);    //[1,2,3,4,5,6]

如果要删除数组里某个指定元素,可以这样做:

var a = [1,2,8,6];
function remove(a,x){
    for(var i=0,len=a.length;i<len;i++){
        if (a[i] == x) {
            a.splice(i,1);
            return a;
        } 
    }
    return a;
}
console.log(remove(a,2));

push() and pop()

push()方法在数组的结尾添加一个或多个元素,并返回数组新的长度。pop() 方法则相反,它删除数组里最后一个元素,减少数组的长度并并返回该删除的元素。

unshift() and shift()

unshift() 和 shift() 与 push() 和 pop() 方法类似,不同的是,unshift() 是在数组的头部插入一个或多个的元素,并返回数组新的长度。shift() 方法删除数组的第一个元素并将其返回。

 

 

以下是在 ECMAScript 5 中新定义了的 9 个操作数组方法: 其功能包括遍历、映射、过滤、检测、简化和搜索数组。

在讲解这些方法之前,有必要知道一些 ECMAScript 5 关于数组方法的介绍。首先,多数方法的第一个参数都一个函数,并且会每一个数组元素调用一次该函数。同时该函数可以使用一下三个参数:数组的元素(element),元素的索引(index),和数组本身(array)。通常我们只会用到第一个参数,而忽略其他两个参数。

遍历 .forEach(function(element,index,array))

forEach()方法从头到尾遍历一次数组元素,为每个函数调用指定函数。举例如下:

var a = [1,2,8,6];
var sum = 0;
a.forEach(function(element){
    sum += element;
});
console.log("数组求和 " + sum);

映射 .map(function(element,index,array))

map() 方法的使用方式和forEach() 方法使用类似,不同的是 map()方法会返回一个新的数组。举例如下:

var a = [1,2,8,6];
var b = a.map(function(element){
    return element + 1;
});
console.log(b); //[2,3,9,7]

过滤 .filter(function(element,index,array))

filter() 方法放回调用数组的一个子数组,其过滤作用。举例如下:

var a = [1,2,8,6];
var b = a.filter(function(element){
    return element > 3;
});
console.log(b);    //[8,6]

判定 .every((function(element,index,array)) / .some((function(element,index,array))

every 和 some 类似于离散数学的逻辑判定,返回一个布尔值。every() 函数当“所有”都返回true时,才返回 true;some()当有一个返回true时,就返回true。举例如下:判断数组是否都为正数:

var a = [1,2,8,6];
var flag = a.every(function(element){
    return element > 0;
});
console.log(flag);    //true

判断数组里是否有偶数:

var a = [1,2,8,6];
var flag = a.some(function(element){
   return element%2 === 0;
});
console.log(flag);    //true

简化 .reduce(function(v1,v2),value,element,index,array) / .reduceRight(function(v1,v2),value,element,index,array)

遍历数组,调用回调函数,将数组元素组合成一个值,reduce从索引最小值开始,reduceRight反向。

第0个参数(函数):把两个值合为一个,并返回;

第1个参数:函数(第0个参数)的初始值,可以省略。

第2个~第4个参数:数组的元素,索引和数组本身。

举例如下:

var a = [1,2,8,6];
var result = a.reduce(function(v1,v2){
    return v1+v2;
},10);
console.log(result); // 27

搜索 .indexOf(element) / lastIndexOf(element)

用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-1,indexOf从头至尾搜索,lastIndexOf反向搜索。

var a = [1,2,8,6];
var index = a.indexOf(2);
console.log(index);    //1
index = a.lastIndexOf(2);
console.log(index);    //1

Array.isArray(o)

该函数用来判断一个的对象是否是数组对象。

var a = [1,2,8,6];
console.log(Array.isArray(a));    //true
var date = new Date();
console.log(Array.isArray(date)); // false

javascript 常用的数组操作

时间: 2024-10-04 08:04:57

javascript 常用的数组操作的相关文章

原生JavaScript常用的DOM操作

之前项目一直都是用JQuery或者Vue来做的,确实好用,毕竟帮我们解决了很多浏览器兼容问题,但是后面发现大公司面试题都是要原生Javascript来做,然后我就一脸懵逼哈哈哈,毕竟大公司需要的框架或者库好多都是公司内部自己构建的,所以说到头来还是要原生JavaScript,这里总结了一些原生js常用的dom操作函数. 一:节点关系 //元素的子元素都可以通过someNode下的childNodes对象来访问 var firstChild = someNode.firstChild; //获得第

PHP:常用PHP数组操作函数

php为我们提供了丰富的数组操作函数,用这些函数可以非常方便的实现我们所想实现的功能. 添加和删除数组元素 添加元素的方法 array_unshift(array array,mixed var [,mixed var...]) 在数组头添加元素,所有的数值键会被相应的修改,但关联键不会受到影响 array_push(array array,mixed var [,mixed var.....]) 在数组尾添加元素 删除数组元素的方法 array_shift(array array) 删除数组头

JavaScript中的数组操作

在之前的一篇博客中提到了一些 JavaScript Array 对象的方法,比如 slice().splice().pop().push() 等,博客链接: http://xitongjiagoushi.blog.51cto.com/9975742/1653063 JavaScript Array还有一些常用的操作或者说技巧,比如清空数组,克隆数组等,下面来看一下. 1. 指定位置插入元素: 使用 Array.prototype.splice()不仅可以删除数组中的元素,也可以在指定位置添加元素

JavaScript常用原生DOM操作

最近,自己在投简历,找工作,在忙碌的复习当中,希望把有用的知识分享出去,是自己的成长,也可以给别人帮助. 今天给大家分享一些常用的原生的JavaScript DOM 操作. OK,那开始吧,那就开始吧O(∩_∩)O~~ 一.查看浏览器视口尺?   window.innerWidth/window.innerHeight(IE8以及IE8以下不能用  (′д` )-彡  )        document.documentElement.clientHeight/document.document

js常用的数组操作内置函数

<html><head> </head><body><script> //向数组中添加值 var arr=new Array(1,2,3,4,5); var len=arr.push(7,9); console.log(len,arr);//array.push() 在数组末尾添加值, 返回添加后的数组长度 var arr=new Array(1,2,3,4,5); var len=arr.unshift(7,9); console.log(le

【JavaScript】js数组操作,由push到那么多

shift() 定义:删除并返回数组的第一个元素: pop() 定义:删除数组最后一个元素,并返回: push() 定义:在数组后边添加一个或者多个元素,并返回新数组的长度: array.push("a","s") splice() 定义:在数组中移除一个或者多个,1.返回删除的元素.2.替换指定位置元素.concat() 定义:链接连个指定数组生成一个新的数组:把a1与a2数组内的元素组合到一个新的数组a3中. join(',') 定义:把一个数组中的所有元素转换

[记录] JavaScript 中的数组操作

1. 定义方式:    var arr = []; // 数组字面量    var arr = new Array(); // 数组构造函数 数组所有方法都来源于 Array.prototype 2. 数组的读和写:    arr[num]  // 不可以溢出读  结果undefined    arr[num] = xxx; // 可以溢出写 3. 改变原数组    push()    // 在数组最后一位添加数据,返回值是数组的长度:    模拟数组方法:    Array.prototype

js数组操作常用方法(转自:http://www.jbxue.com/article/js/20224.html)

js数组操作常用方法,包括数组的创建.数组的元素的访问.数组元素的删除.数组的拷贝等. 原文参考自:http://www.jbxue.com/article/js/20224.html 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽.记录下来.1.数组的创建 var arr

javascript数组操作(创建、元素删除、数组的拷贝)

这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创