数组操作方法(包括es5)
//push();
定义:可以可向数组的末尾添加一个或更多元素,并返回新的长度。
方法:push();
语法:数组.push(新元素1,新元素2,....,新元素x)
返回值:把指定的值添加到数组后的新长度。
原数组:已经改变。 //pop();
定义:用于删除并返回数组的最后一个元素。
语法:数组.pop();
返回值:数组的最后一个元素。
说明:pop()方法将删除数组的最后一个元素,把数组的长度减1,并且返回它删除的元素的值。如果数组已经为空,则数组不改变原数组,并返回undefined。
原数组:已经改变。 //shift();
定义:用于把数组的第一个元素删除,并返回这个元素。
语法:数组.shift()
返回值: 数组原理的第一个元素的值。
说明:如果数组是空的,那么shift方法将不进行任何操作,并返回undefined。请注意该方法不创建新数组,而是修改原来的数组。
原数组:已经改变。 //unshift;
定义:可向数组的开头添加一个或者多个元素,并返回新的长度。
语法:数组.unshift(新元素1,新元素2,....,新元素x)
返回值:数组的新长度。
说明:unshift()方法将它们的参数插入数组的头部。请注意,unshift()方法不创建新的数组,而是修改原来的数组。
原数组:已经改变。 //sort();
定义:用来给数组排序。
语法:数组.sort(排序规则的函数);
返回值:对数组的引用,请注意,数组在原数组上进行排序,不生产副本。
说明:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说的更加准备点,是按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较2个位,然后返回一个用于说明这两个值得相对顺序的数字,比较函数应该具有两个参数a和b,若a大于b,则从小到大排序,否则从大到小排序。
原数组:已经改变。 //ES5中新增的数组操作方法:
//indexOf();//里面有两个参数 第一个是要查询的内容,第二个是查询的起点下标。
定义:可以返回指定的元素在数组中首次出现的位置的(下标)。
语法:var arr = [2,4,6,7];
arr.indexOf(4); //
arr.indexOf(3); // -1
返回值:返回查询内容的下标,如果查询不到返回一个-1。
原数组:未发生改变。 //lastIndexOf();
定义:从尾部可以返回指定的元素在数组中首次出现的位置的(下标)。
语法:var arr = [2,4,6,7];
arr.lastIndexOf(4); //
arr.lastIindexOf(3); // -1
返回值:返回查询内容的下标,如果查询不到返回一个-1;
原数组:未发生改变。 forEach(): //参数有value,index,arr
定义:对数组中的每一项运行给定函数,作用是对数组进行遍历、循环。
语法:var arr = [3, 5, 8];
var col = arr.forEach(function(value, index){
//console.log( value, index, col );
arr[index] = value*1.3;
});
console.log(arr);
console.log(col); // undefined
// forEach只做循环,本身没有返回值
返回值:没有返回值。
原数组:不改变,产生一个新数组。 //map();映射
定义:映射
语法:map()遍历—>操作—>返回
var arr = [1,2,3,4,5];
var newarr = arr.map(function(item, index, array){
return item+2; // 处理
})
console.log( arr ); // [1, 2, 3, 4, 5]
console.log( newarr ); // [3, 4, 5, 6, 7] 返回值:一个新的数组。
原数组:未改变,产生一个新的数组。 //every()每一个;
定义:数组中的元素,每一项都返回真,最终的结果就为真。
语法:var arr = [1, 2, 3, 4, 5];
var b = arr.every(function(item){
return item > 3;
});
console.log( arr ); // [1, 2, 3, 4, 5]
console.log( b ); // false
返回值:根据条件返回一个布尔值。true或者false。
原数组:未改变。
//some一些;
定义:数组中的元素,只要有一项返回真,最终的结果就为真。
语法:some() 某些
数组中的元素,只要有一项返回真,最终的结果就为真。 var arr = ["yt","hr","wc","jk"];
var b = arr.some(function(item){
//判断数组中是否存在yt?
return item=="yt";
})
console.log( arr ); // ["yt","hr","wc","jk"]
console.log( b ); // true
返回值:根据条件返回一个布尔值。
原数组:未改变。 //filter()过滤;
定义:符合返回值得都将被筛选出。
语法:var arr = [88,69,92,77,90,96,98,99];
var newarr = arr.filter(function(item, index, array){
return item>80; //找出所有大于80的元素
});
console.log( arr ); // [88, 69, 92, 77, 90, 96, 98, 99]
console.log( newarr ); // [88, 92, 90, 96, 98, 99]
返回值:返回一个经过过滤的新数组。
原数组:未改变,产生一个新数组。 //reduce()归并;
定义:对数组循环每一次循环时,取两个相邻元素。
语法:var arr = [1,2,3,4]; // reduce 对数组的循环(每一次循环时,取两个相邻元素)
var num = arr.reduce(function(pre, next, index, array){
//第一次时,pre指下标0的元素;之后,pre指 return 的值
console.log( ‘pre:’+pre );
console.log( 'next:'+next );
console.log( 'index:'+index );
console.log( 'array:'+array );
return pre+next; // 处理
})
console.log( arr ); // [1,2,3,4]
console.log( num ); // 10
返回值:返回数组内的和或者其他。
原数组:未发生改变。
数组操作方法(包括es5)的更多相关文章
- JavaScript 数组操作方法 和 ES5数组拓展
JavaScript中数组有各种操作方法,以下通过举例来说明各种方法的使用: 数组操作方法 push 在数组最后添加一个元素 var arr=[3,4,5,6] console.log(arr) // ...
- ECMAScript 6中的数组操作方法
本文介绍ECMAScript 6即将带给我们新的数组操作方法,以及在怎样在现有浏览器应用这些新的数组特性. Note: 我将使用交替使用构造器(constructor)和类(class)两个术语. 类 ...
- JavaScript中的常用的数组操作方法
JavaScript中的常用的数组操作方法 一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2 ...
- JavaScript常用数组操作方法,包含ES6方法
一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; ...
- Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印
1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...
- javaScript之数组操作方法(一)
本篇文章主要总结了几个简单的数组操作方法.数组就是一组数据的集合,接下来我们就了解一下几种数组的操作方法. 1. join方法:把数组的所有元素放入一个字符串.举例如下: var arrJoin=[& ...
- java 数组操作方法
数组操作方法: 实现数组拷贝: 语法:System.arraycopy(源数组名称,源数组拷贝开始索引,目标数组名称,目标数组拷贝数组索引,长度) 数组A:1 . 2 . 3 . 4 . 5 . 6 ...
- PHP常用数组操作方法汇总
array_change_key_case -- 返回字符串键名全为小写或大写的数组array_chunk -- 将一个数组分割成多个array_combine -- 创建一个数组,用一个数组的值作为 ...
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /** * 思路:数组 ...
随机推荐
- Mongodb主从模式SECONDARY提升为PRIMARY
生产环境不建议仅使用PRIMARY-SECONDARY模式 当primary挂掉,并且无法恢复时,可以把secondary提升为主节点. 注意:此时从节点可能有部分数据未同步过来,部分数据可能丢失. ...
- 【洛谷】【动态规划/01背包】P1734 最大约数和
[题目描述:] 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. [输入格式:] 输入一个正整数S. [输出格式:] 输出最大的约数之和. [算法分析:] 01背包,每个数 ...
- go标准库的学习-runtime
参考:https://studygolang.com/pkgdoc 导入方式: import "runtime" runtime包提供和go运行时环境的互操作,如控制go程的函数. ...
- rac添加新节点的步骤与方法
[转载] https://www.cnblogs.com/hankyoon/p/5174465.html OS: [root@rac ~]# more /etc/oracle-releaseOracl ...
- vue 如何在循环中 "监听" 的绑定v-model数据
vue 如何在循环中 "监听" 的绑定v-model数据 阅读目录 vue 如何在循环中 "监听" 的绑定v-model数据 1. 普通属性的值进行监听 2. ...
- GIT 工作区和暂存区
工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的studygit ...
- CAN协议教程
介绍:CAN总线 CAN总线是广播类型的总线.这意味着所有节点都可以侦听到所有传输的报文.无法将报文单独发送给指定节点:所有节点都将始终捕获所有报文.但是,CAN硬件能够提供本地过滤功能,让每个节点对 ...
- Luogu1084 NOIP2012D2T3 疫情控制 二分答案、搜索、贪心、倍增
题目传送门 题意太长就不给了 发现答案具有单调性(额外的时间不会对答案造成影响),故考虑二分答案. 贪心地想,在二分了一个时间之后,军队尽量往上走更好.所以我们预处理倍增数组,在二分时间之后通过倍增看 ...
- Luogu P3959 宝藏
这道题正解是状压DP,不过我不会所以写一下随机化算法来骗骗分. 听说当时考场上就有很多写prim然后挂掉的神仙,其实这道题是可以prim过的 prim是一种基于贪心的算法,在本题中由于盲目的选择当前最 ...
- $\mathfrak {reputation}$
\(\mathfrak {reputation}\) 举世盛名 身败名裂