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 ...
随机推荐
- TCP三次握手及四次挥手详解及常见面试题
https://blog.csdn.net/ZWE7616175/article/details/80432486
- Hibernate框架的主键生成策略
在Hibernate中,id元素的<generator>子元素用于生成持久化类的对象的唯一标识符,也就是主键.Hibernate框架中定义了许多主键生成策略类,也叫生成器类.所有的生成器类 ...
- 在java中使用dom4j解析xml
创建xml文档并输出到文件 import java.io.File; import java.io.FileOutputStream; import org.dom4j.Document; impor ...
- php增加
<?php$lname = $_POST['lname'];$name = $_POST['name'];$number = $_POST['number'];$dod = $_POST['do ...
- BZOJ 2194 快速傅立叶之二 ——FFT
[题目分析] 咦,这不是卷积裸题. 敲敲敲,结果样例也没过. 看看看,卧槽i和k怎么反了. 艹艹艹,把B数组取个反. 靠靠靠,怎么全是零. 算算算,最终的取值范围算错了. 交交交,总算是A掉了. [代 ...
- CSS选择器与XPath语言
一 在爬取页面信息的过程中,需要到想要的信息进行定位,主要有两种方法.CSS选择器和XPath语言.查找某一个标签,两种方法都可以做到. 二 CSS选择器 http://www.w3school.co ...
- 使用putty上传下载文件(pscp)
putty作为ssh工具开源免费,简单易用.可是如何使用它来上传和下载文件呢?答案在于pscp. pscp下载地址:http://www.chiark.greenend.org.uk/~sgtatha ...
- 16.1113 模拟考试T3
城堡[问题描述]给定一张N个点M条边的无向连通图,每条边有边权.我们需要从M条边中选出N − 1条, 构成一棵树. 记原图中从 1 号点到每个节点的最短路径长度为?Di ,树中从 1 号点到每个节点的 ...
- 如何让Gridview在没有数据的时候显示表头[没有使用SqlDataSource控件时]
原文发布时间为:2008-08-03 -- 来源于本人的百度文章 [由搬家工具导入] 要看全文请点击http://blog.csdn.net/windok2004/archive/2007/10/28 ...
- indexedDB 增删改查
/** * 打开数据库 */ export function openDB() { return new Promise((resolve, reject) => { let indexedDB ...