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 ...
随机推荐
- Leetcode 397.整数替换
整数替换 给定一个正整数 n,你可以做如下操作: 1. 如果 n 是偶数,则用 n / 2替换 n.2. 如果 n 是奇数,则可以用 n + 1或n - 1替换 n.n 变为 1 所需的最小替换次数是 ...
- 【Android】页面迁移时先弹出键盘问题解决
android自动弹出软键盘(输入键盘) 在AndroidMainfest.xml内容无法更改情况下,也就是键盘非要弹出情况下,进入此页面时先关闭软键盘不让其弹出 InputMethodManager ...
- Luogu【P2904】跨河(DP)
题目链接在这里 此题DP.用一个前缀和一样的东西,把载i个奶牛的时间求出来,然后DP代码如下: ;i<=n;++i){ f[i]=que[i]; ;j<i;++j) f[i]=min(f[ ...
- BZOJ 2190 [SDOI2008]仪仗队 ——Dirichlet积
[题目分析] 考虑斜率为0和斜率不存在的两条线上只能看到3人. 其余的人能被看见,当且仅当gcd(x,y)=1 ,然后拿卷积算一算 发现就是欧拉函数的前缀和的二倍. 注意2的情况要特判. [代码] # ...
- 北京集训TEST13——PA(Goodness)
题目: Description 桌面上放有 n 张卡牌.对于每张卡牌,一面是绿色的,另一面是红色的.卡牌的每一面都标有一个整数.对于卡牌a和卡牌b,卡牌a对卡牌b的好感度为卡牌a绿色面的数与卡牌b红色 ...
- 从ip addr add和ifconfig的区别看linux网卡ip地址的结构
今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别, ...
- Nova 组件详解
本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个.今天先讨论 nova-api 和 nova-cond ...
- ajaxpro实现无刷新更新数据库【简单方法】
原文发布时间为:2008-10-24 -- 来源于本人的百度文章 [由搬家工具导入] 我用的是AjaxPro.2.dll,然后我想点击那个 “无刷新更新” 那个按钮,实现 无刷新 修改表中的内容 HT ...
- [MFC] CFile读写文件实现(高效)
1.文件写入 void CMFCApplication1Dlg::Write() { CFile file; CString FileName = "D:\\100w.txt"; ...
- Eclipse、IDEA安装JavaFX
简介 JavaFX插件 e(fx)eclipse是一组工具和必要的库,它们帮助您执行JavaFX编程,确保您已经作为插件将其安装在eclipse上了. JavaFX Scene Builder Jav ...