javascript Array method总结
0.创建
Javascript创建数组的基本方式有两种。第一种是使用Array构造函数。
var colors = new Array();
var colors = new Array(20);
var colors = new Array("red","blue","green");
另外一种是省略掉new符号:
var colors = Array(3);
var colors = Array("Greg");
1.检测数组
if(value instanceOf Array){}
if(Array.isArray(value)){}
2.转换方法
toLocalString() 把数组转换为本地数组,并返回结果。
toString() 把数组转换为字符串,并返回结果。
valueOf() 返回数组对象的原始值。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
示例:
var colors = ["red", "blue", "green"];
console.log(colors.toString()); //red,blue,green
console.log(colors.valueOf()); //["red", "blue", "green"]
console.log(colors); //["red", "blue", "green"]
console.log(colors.join(",")); //red,blue,green
console.log(colors.join("||")); //red||blue||green
3.栈方法
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
pop() 删除并返回数组的最后一个元素。
示例:
var colors = new Array();
var count = colors.push("red", "green");
console.log(count); // 2
count = colors.push("black");
console.log(count); //3
var item = colors.pop();
console.log(item); //black
conosole.log(colors); //["red", "green"]
4.队列方法
shift() 删除并返回数组的第一个元素。和push()一起组成数组的前端删除,末端插入的队列。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。与pop()一起组成前端插入,末端删除的队列。
示例:
var colors = new Array();
var count = colors.push("red", "green");
console.log(count); // 2
var item = colors.shift();
console.log(item); //red
console.log(colors); //["green"]
var count = colors.unshift("red", "blue");
console.log(count); //3
console.log(colors); //["red", "blue", "green"]
5.重排序方法
reverse() 颠倒数组中元素的顺序。
sort() 对数组的元素进行排序。
示例:
var values = [1,2,3,35,5];
values.reverse();
console.log(values); //[5, 35, 3, 2, 1]
values.sort();
console.log(values); //[1, 2, 3, 35, 5]
function compare(v1,v2){
if(v1 < v2)return -1;
else if(v1 > v2) return 1;
else return 0;
}
values.sort(compare);
console.log(values); //[1, 2, 3, 5, 35]
6.操作方法
concat() 连接多个数组。
slice() 基于当前数组中的一个或多个项创建新数组。
splice() 向数组中部插入项。
示例:
var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors); //["red", "green", "blue"]
console.log(colors2); //["red", "green", "blue", "yellow", "black", "brown"]
var colors3 = colors2.slice(1);
var colors4 = colors2.slice(1,2);
console.log(colors3); //["green", "blue", "yellow", "black", "brown"]
console.log(colors4); //["green"]
//splice删除
var removed = colors2.splice(0,2);
console.log(removed); //["red", "green"]
console.log(colors2); //["blue", "yellow", "black", "brown"]
//splice插入
var inserter = colors2.splice(1, 0, "orange", "purple");
console.log(inserter); //[]
console.log(colors2); //["blue", "orange", "purple", "yellow", "black", "brown"]
//splice替换
var replacer = colors.splice(1, 1, "red", "green");
console.log(replacer); //["orange"]
console.log(colors2); //["blue", "red", "green", "purple", "yellow", "black", "brown"]
7.位置方法
indexOf() 从数组开头开始向后查找。
lastIndexOf() 从数组的末尾开始向前查找。
示例:
var colors = ["red", "green", "blue", "black", "green", "black"];
console.log(colors.indexOf("green")); //1
console.log(colors.indexOf("green", 2)); //4
console.log(colors.lastIndexOf("green")); //4
console.log(colors.lastIndexOf("green", 3)); //1
console.log(colors.indexOf("yellow")); //-1
8.迭代方法
every() 对数组中的每一项运行给定的函数,如果函数的每一项都返回true,则返回true。
filter() 对数组中的每一项运行给定的函数,返回该函数返回为true的项组成的新数组。
forEach() 对数组中的每一项运行给定的函数。这个方法没有返回值。
map() 对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的新数组。
some() 对数组中的每一项运行给定的函数,如果函数对任一项返回true,则返回true。
示例:
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyResult = numbers.every(function(item, index, array){return item > 2;});
console.log(everyResult); //false
var someResult = numbers.some(function(item, index, array){return item > 2;});
console.log(someResult); //true
var filterResult = numbers.filter(function(item, index, array){return item > 2;});
console.log(filterResult); //[3, 4, 5, 4, 3]
var mapResult = numbers.map(function(item, index, array){return item *2;});
console.log(mapResult); //[2, 4, 6, 8, 10, 8, 6, 4, 2]
9.归并方法
ECMAScript5新增的方法:
reduce() 迭代数组中的每一项,然后构建最终的返回值。从第一项开始。
reduceRight() 迭代数组中的每一项,然后构建最终的返回值。从最后一项开始。
示例:
var values = [1,2,3];
var sum = values.reduce(function(prev, cur, index, array){return prev+cur;});
console.log(sum); //6
var sumRight = values.reduceRight(function(prev, cur, index, array){return prev+cur;});
console.log(sumRight ); //6
----完
javascript Array method总结的更多相关文章
- JavaScript : Array assignment creates reference not copy
JavaScript : Array assignment creates reference not copy 29 May 2015 Consider we have an array var a ...
- JavaScript Array.map
Array.prototype.map() History Edit This article is in need of a technical review. Table of Contents ...
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- JavaScript Array(数组)对象
一,定义数组 数组对象用来在单独的变量名中存储一系列的值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, elem ...
- Javascript Array.prototype.some()
当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02 "mercury", 03 " ...
- [Javascript ] Array methods in depth - sort
Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...
- Javascript Array 方法整理
Javascript Array 方法整理 Javascript 数组相关方法 说明 大多数其它编程语言不允许改变数组大小,越界访问索引会报错,但是 javascript不会报错,不过不建议直接修改a ...
- javascript array操作
首先来看一下怎么判断一个对象是不是数组: 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- JavaScript Array 数组方法汇总
JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...
随机推荐
- luogu3809 后缀排序 后缀数组
ref and 挑战程序设计竞赛. 主要是发现自己以前写得代码太难看而且忘光了,而且我字符串死活学不会啊,kmp这种东西我都觉得是省选+难度啊QAQ #include <iostream> ...
- C++类设计1(Class without pointer members)
class complex{ public: complex (double r = 0, double i = 0):re(r), im(i){} //inline complex& ope ...
- Python内置函数5
Python内置函数5 1.format参考前面字符串方法中的format 2.frozenset([iterable]) iterable -- 可迭代的对象,比如列表.字典.元组等等 返回一个冻结 ...
- Ubuntu Software Center has closed unexpectly解决方案
打开软件中心Ubuntu Software Center的时候 出现crash report :The application Ubuntu Software Center has closed un ...
- 【Luogu】P2016战略游戏(树形DP)
题目链接 设f[i][j]表示以节点i为根的子树在状态j的情况下的最优解. j有两种情况. j=1:i这个根节点有士兵在站岗. j=0:i这个根节点没有士兵在站岗. 转移方程很好想. f[x][]+= ...
- Spring boot 中 Spring Security 使用改造5部曲(转)
文章的内容有点长,也是自己学习Spring security的一个总结.如果你从头看到尾,我想你对Spring Security的使用和基本原理应该会有一个比较清晰的认识. 如果有什么理解不对的地方, ...
- LA 3644 简单并查集
题目大意:有一些简单的化合物,每个化合物由两种元素组成,把这些化合物按顺序装车,若k个化合物正好包含k种元素,那么就会爆炸.避免爆炸,有些化合物就不能装车.求有多少个不能装车. 题目分析:若k个化合物 ...
- 远程管理 KVM 虚机
上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...
- 在echars上发布的半圆环形图
http://gallery.echartsjs.com/editor.html?c=xBJvoMcPfz&v=1
- WAMP本地环境升级php版本--第二次尝试
wamp 环境下 php5.6.25 升级php7.1.17 实践 本文参考:https://www.cnblogs.com/hubaohua1588/p/6884146.html来进行操作. 1.从 ...