JavaScript中Array数组的方法
查找: indexOf、lastIndexOf
迭代:every、filter、forEach、map、somereduce、reduceRight
用法:
/*
1 查找方法:
* arr.indexOf( value )
* 一个参数 返回value所在数组的位置下标
* 找不到的时候返回-1
*
* arr.indexOf( start , value )
* 从start开始查找value 返回下标
* 找不到的时候返回-1
*
* arr.lastIndexOf( value )
* 从后往前找 返回下标
*
*
*
*2 迭代方法:
* arr.every(function(item , index , arr){
* return item > 2; //如果每一项都大于2 就返回true 否则false
* })
* 传入函数 对每一项进行执行函数,
* 如果每一项都返回true 最后才返回true
* 如果有一个返回false 最后就返回发false
*
* arr.filter( function( item , index , arr ){
* return item > 2; //把大于2的数组元素返回
* } )
* 传入一个函数对每一个元素执行
* 结果是真的元素就返回
*
* arr.forEach(function(item , index , arr){
* alert(item)
* })
* 提供一个循环方法
* 每一个元素都执行一下function
*
* arr.map(function(item , index , arr){
* return item * 2 ;
* })
* 对arr每一项都执行函数 然后返回执行结果
*
*
* arr.some(function(item,index,arr){
*
* retrn item > 2;
* })
* 对arr中每个元素进行判断,
* 有一个返回true 则最后返回true
* 如果全都是false 最后返回false
*
*
*
* arr.reduce( function(prev , cur , index , array){
* // 钱一个值 当前值 索引位置 数组
* return prev + cur;
* })
* 对数组中每个元素进行相加最后返回
*
*
*
* arr.reduceRight( )
* 对数组从右侧向左进行执行 返回最后的结果
*
*
*
*
*
*
*
*
* */
添加:push、pop、shift、unshift
截取splice、slice
操作:concat、join、reverse、sort
用法:
// 数组的创建方式
// 1 不推荐
// var arr = new Array();
//2 推荐 js种数组内部数据类型可以不一样
var arr = [1,2,3,4,true,"abc",new Date() ];
//alert(arr.length);
//js中的数组可以随意改变长度 元素类型任意
arr.length = 5;
alert(arr); /*
*数组的常用方法
* 1 数组添加 删除元素
* result = arr.push(value1,value2,value3,....) 向数组添加元素 返回值 新数组的长度
* result = arr.pop() 返回数组尾部的元素并移除
*
* result = arr.shift() 从头部移除一个元素 并把头部元素返回
* result = arr.unshift(a,b,c,d,e....) 从头部插入一些元素 返回新数组长度
*
* 2 数组截取
* arr.splice(1,2,3,4,5)
* 数组的截取方法: 改变数组本身
* 第一个参数表示 起始位置
* 第二个参数表示 要截取的个数
* 第三个参数之后作为一个子数组会从截取的位置插入数组
* arr.splice(1) 1后面元素全都截掉
* arr.splice(1,2) 从1号下标元素开始 删去两个元素
*
*
* result = arr.slice(2,3)
* 截取操作 第一个参数是截取的起点,第二个参数是end 左闭右开的截取
* 将截取的结果返回 不 改变数组本身
*
*
* 3 数组操作方法
*
* result = arr1.concat(arr2)
* 将arr1和arr2进行拼接返回
* 不改变数组本身
*
* result = arr.join("-")
* 在每个元素之间添加一个 - 符号 并返回
*
* arr.reverse() 反转数组顺序
* 改变数组本身
*
* arr.sort() 正序排序
* 但是把每一个值按照字符串 一个字节一个字节比较
* 比如10和4比较,会觉得1比4小 10会排在前面
* 改变数组本身
* 如果想正确的排序 需要自己写一个方法传入sort()
* 例如
* function compare(value1 , value2){
* if(value1 < value2){
* return -1;
* }else if(value1 > value2){
* return 1;
* }else{
* return 0;
* }
* }
* 然后再调用 arr.sort(compare)
* 这样就能按照我们想要的正常的正序进行排序了
*
* */
JavaScript中Array数组的方法的更多相关文章
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- 浅谈 JavaScript 中 Array 类型的方法使用
前言:Array 类型是 JavaScript 中除了 Object 类型以外最常用的类型. 一.创建数组 JavaScript 中的数组与其他语言中的数组有着很大的区别.例如Java.PHP等语言中 ...
- JavaScript中Array(数组) 对象
JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...
- js中Array数组基本方法
总结:push() 添加元素到数组未尾, 返回数组长度 unshift() 添加元素到数组头部, 返回数组长度 pop() 删除数组未尾元素, 返回删除元素 shift() 删除数组头部元素, 返回删 ...
- JavaScript中操作数组的方法
JavaScript Array 对象 对数组操作的方法分为两种 一种是会改变原始数组的变异方法,还有一种是不会改变原始数组的非变异方法. 总结 巧记 Push() 尾部添加 pop() 尾部删除 U ...
- javascript中array常用属性方法
属性: length 表示一个无符号 32-bit 整数,返回一个数组中的元素个数. 截短数组..截短至长度2 则: .length = 2 方法: Array.from() 方法可以将一个类数 ...
- javaScript中的数组迭代方法
ECMAScript5为数组定义了5个迭代方法. 每个方法都接收两个参数:要在每一项上运行的函数 和 (可选的)运行该函数的作用域对象. 传入这些方法中的函数会接收三个参数:数组项的值,该项在数组 ...
- JavaScript中对象数组去重方法
在一次对后端返回的对象数组的操作时想通过indexOf()或者includes()的方法来实现对对象数组的去重但是行不通,因为用indexOf()返回的都是-1,一下记录两种对象数组(更具指定属性)去 ...
- Javascript中Array(数组)对象常用的几个方法
Javascript中Array数组的几个常用方法 pop() --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice() --按照下 ...
随机推荐
- Error400
关于Error400,研究了几天终于弄明白了.不是FQ的问题,也不是DNS污染的问题.之前网上很多帖子说Error400可以通过删除 cookies来解决.但是其实这个并不管用.也就是说.原因并不是由 ...
- Unity程序们经常用到的网址(方便自己用,一直更新)
浏览器收藏夹不好用,那就整理到这里吧 官方 API查询: https://docs.unity3d.com/ScriptReference/index.html 文档查询:https://docs.u ...
- jQuery中的ajax的相关方法
JQuery对Ajax操作进行了封装,$.ajax()方法属于最底层的方法,第2层是load().$.get().$.post()方法,第3层是$.getScript()和$.getJSON()方法. ...
- canvas描绘渐变的矩形
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Idea中开启assert断言
先打开相应的配置面板,有以下两种方式. 然后在VM栏里输入 -enableassertions 或者 -ea 就好了 然后编写程序试试 我的目录结构如下:(因为Main class那里要写类的全限 ...
- call of overloaded 'xxx' is ambiguous
这里定义了一个模版函数,功能同STL里的copy函数: #include <vector> #include <list> #include <iostream> ...
- servlet实现方式(未完待续)
servlet的是方式有三种,分别是: 1,实现servlt接口 点击查看详情 2,继承GenericServlet类[适配器模式] 3,继承HttpServlet类[模板方法设计模式]最常用的方法 ...
- 设计模式 --> (6)原型模式
原型(Prototype)模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知 ...
- Myeclipse快速补充返回值快捷键
比如 image.getGraphics(); 按ALT+Shift+L键,弹出一个确认变量名称框,确认之后会补全语句Graphics graphics = image.getGraphics();
- 在Anacoda中管理多个版本Python
win10. 在cmd窗口中输入 conda info --envs 或者 conda env list 查看已经安装的环境,当前活动的环境前会加*号. 在cmd窗口(终端窗口)或anaconda p ...