javascrip中array使用(续)
ECMAScript 5中的数组的方法
Ecmascript5定义了9个新的数组方法遍历,映射,过滤,检测,简化和搜索数组。
1.forEach()
Array.orEach()方法从头到尾遍历数组,第一个参数为此元素值,第二个参数为索引值,第三个参数为此数组this引用。
var data=[1,2,3,4,5];
var sum=0;
data.forEach(funciton (item){
sum+=item;
});
sum; //=>15;
data.forEach(funciton(v,i,a){
a[i]=v+a;
})
data; //=>[2,3,4,5,6];
2.map()
Array.map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值,此方法返回的为一个数组。
var arr=[1,2,3,4];
var temp=arr.map(funciton (value){
return value*value;
});
temp; //temp:[1,4,9,16]
3.filter()
Array.filter()方法返回的数组元素是调用数组的一个子集。传递的函数是用来逻辑判定的:该函数返回true和false。
var arr=[1,2,3,4,5];
var smallValues=arr.filter(funciton (value){
reutrn value<3;
});
smallValues; //smallValues:[1,2];
var everyOther=arr.filter(function (value){
return value%2==0;
});
everyOther; //everyOther:[1,3,5];
4.every()和some()
Array.every和Array.some()方法是数组的逻辑判定:他们对元素应用指定的函数进行判定,返回true和false。every()方法针对所有的数组元素进行判定,some()则为存在此条件的数组元素进行判定
var arr=[1,2,3,4,5];
arr.every(funciton (value){
return value<10;
}); //返回true:因为数组元素都小于10为真;
arr.some(funciton (value){
return value%2==0;
}); //返回true:因为数组元素中存在偶数
arr.some(isNan); //返回false:因为数组元素中不存在非空元素;
5.reduce()和reduceRight()
Array.reduce()和Array.reduce.Right()方法使用指定的函数将数组元素进行组合,生成单个值。reduce()方法第一个参数为执行化简操作的函数,第二个参数为初始值。reduceRight()方法像似,区别是便利时reduceRight索引是从高至低,reduce索引是从低到高。
var arr=[1,2,3,4,5];
var sum=arr.reduce(funciton (x,y){ return x+y;},0); //数组求和;
var product=arr.reduce(funciton (x,y){ return x*y;},1 ); //数组求积;
var max=arr.reduce(function (x,y){ return x>y?x:y;}); //数组求最元素;
var big=arr.redureRight(funciton (accumulator,value){
return Math.pow(value,accumulator);
});计算1^(2^(3^(4^5)))。乘方的优先顺序是从右到左。
6.indexOf()和lastIndexOf()
Array.indexOf()和lastIndexOf()方法,搜索整个数组中具有给定值的元素,返回找到第一个元素的索引,如果未找到返回-1;而LastIndexOf()方法是反响索引。第一个参数为,要搜索的元素,第二个参数,开始位置。
javascrip中array使用(续)的更多相关文章
- javascrip中array使用
一.测试数组长度是使用arr.length;(注:使用delete不会修改数组的length属性) 二.数组方法 1.join() Array.join()方法将数组所有元素都转化为字符串连接在一起, ...
- JavaScrip中 Array.reduce()
数组的方法 reduce() reduce方法在数组的每一项元素上都会执行回调函数. 语法:array.reduce( callBack [ , init] ) // 语法arrary.reduce ...
- Flex中 Array 的IndexOf 的作用
Flex中 Array 的IndexOf 的作用 1.说明 indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml ve ...
- JS中Array数组的三大属性用法
原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...
- Javascript中Array(数组)对象常用的几个方法
Javascript中Array数组的几个常用方法 pop() --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice() --按照下 ...
- Javascript 中 Array的 sort()和 compare()方法
Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们 ...
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- Java-杂项: Java中Array和ArrayList区别
ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...
- JavaScript中Array方法总览
title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...
随机推荐
- 九度OJ 1076 N的阶乘 -- 大数运算
题目地址:http://ac.jobdu.com/problem.php?pid=1076 题目描述: 输入一个正整数N,输出N的阶乘. 输入: 正整数N(0<=N<=1000) 输出: ...
- 理解Java中的前期绑定和后期绑定
前期绑定,在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用. 后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定.实现后期绑定,需要某种机制支持,以便 ...
- DataTable操作(建表,建行,建列,添加数据)
public DataTable GetNewTable() { DataTable dt2 = new DataTable("NewDataSet"); //创建一个新Table ...
- ubuntu下virtualenv的复制
将一个用户下的virtualenv复制到另一个用户下.直接复制无法使用,source后的python依旧是系统自带的python. 原始env名:/home/llx/work/nn/nnenv.bak ...
- FusionCharts xml入门教程
由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以 前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比 ...
- pyqt中使用matplotlib绘制动态曲线
一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...
- python的方法总结:
1. Python的字典的items(), keys(), values()都返回一个list >>> dict = { 1 : 2, 'a' : 'b', 'hello' : 'w ...
- keybd_event函数用法
转自不用winio,直接达到驱动级模拟键盘效果的keybd_event函数用法 键盘模拟技术是在编写游戏外挂时经常使用的技术.但是由于很多游戏采用了directinput的方式,使得发送的一般键盘消息 ...
- 在android4.0中实现View的拖动效果
实现方法: 首先需要定义一个支持拖动的源组件和一个作为Drop区域的目标组件. 在支持拖动的组件中注册OnTouchListener 或LongClickListener监听事件,构建一个ClipDa ...
- Java序列化与Hessian序列化的区别
Java序列化: Java序列化会把要序列化的对象类的元数据和业务数据全部序列化为字节流,而且是把整个继承关系上的东西全部序列化了.它序列化出来的字节流是对那个对象结构到内容的完全描述,包含所有的信息 ...