定义:var colors=new Array();

  var colors=new Array(3);

  var colors=new Array('red');

  var colors=['red','green'];

检测数组:

  if (value instanceof Array) :假定只有一个全局执行环境。具体是不同框架有不同的定义

  Array.isAarry(value): ie9+,firefox4+,safari5+, opera10.5+

数组转换:所有对象都具有toLocaleString(),toString() 和valueOf();

  colors.toString();//red,blue,green ,上诉三个方法都是这样调用

  与 colors.join(',')效果一致。

栈方法:LIFO(Last-In-First-Out 后进先出) :最新添加的项最早被移除

  push():在数组末尾添加该项

  pop():在数组末尾移除最后项

队列方法:FIFO(First-In-First-Out先进先出) :在队列的末端添加项,从列表的前端移除项

  shift() :移除数组中的第一项

  unshift() :在数组前端添加任意个项

排序方法:

  values.sort();

  values.reverse();

操作方法:

  concat():可以基于当前数组中的所有项创建一个新的数组

例:var colors=[red,green]

  var colors2=colors.concat(yellow,[black,brown])

  alert(colors2.toString()) ;// red,green,yellow,black,brown

最强大的数组方法:splice() 主要用途是向数组的中部插入项

  删除:可删除任意数量的项,需指定两个参数:要删除的第一项的位置和要删除的项数

  例:splice(0,2)

  插入:可向指定的位置插入任意数量的项 ,需提供多个参数:起始位置,插入(删除)多少项,项值(....)

  例:splice(2,0,red,green) 从位置2开始插入两项

  替换:可向指定的位置插入任意数量的项,且同时删除任意数量的项,需指定三个参数:起始位置,要删除和插入的任意项

  例:splice(2,1,red,green),会删除位置2的项,从位置2开始插入两项

位置方法:

  indexOf():从数组开头开始向后查找

  lastIndexOf():从数组后面开始向前查找

  需要注意兼容:ie9+,firefox2+,safari3+等

迭代方法:定义了5个迭代方法

  var numbers=[1,2,3,4,5,4,3,2,1]

  every():对数组中的每一项运行给定函数,每一项都返回true,则返回true;

  例: var everyResult=numbers.every(function( item,index,array){ return (item>2) }) //返回false

  some():对数组中的每一项运行给定函数,有一项返回true,则返回true;

  例: var someResult=numbers.some(function( item,index,array){ return (item>2) }) //返回true

  filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组

  例:var filterResult=numbers.filter(function( item,index,array){ return (item>2) }) //返回 {3,4,5,4,3}

  map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

  例:var mapResult=numbers.map(function( item,index,array){ return (item*2)}) //返回{2,4,6,8,10.8.6.4.2}

forEach():对数组中的每一项运行给定函数,这个方法没有返回值

例:var numbers.forEach(function(item,index,array){  }) //本质于for循环一样

归并方法:迭代数组的所有项,然后构建一个最终返回的值

reduce():从数组的第一项开始,逐个遍历到最后

reduceRight():从数组的第一项开始,向前遍历到第一项

都接收四个参数:前一个值,当前值,项的索引,和数组对象

例:var values=[1,2,3,4,5]

var sum=values.reduce(function(prev,cur,index,array){  return prev+cur })

分析:第一轮:prev 1,cur 2,第二轮: prev 3,cur 3

javascript 之 数组的更多相关文章

  1. JavaScript Array数组方法详解

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...

  2. JavaScript从数组中删除指定值元素的方法

    本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...

  3. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  4. javascript常用数组算法总结

    1.数组去重 方法1: JavaScript //利用数组的indexOf方法 function unique (arr) { var result = []; for (var i = 0; i & ...

  5. javascript中数组的22种方法

    × 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法 ...

  6. javascript中数组Array的方法

    一.常用方法(push,pop,unshift,shift,join)push pop栈方法,后进先出var a =[1,2,3];console.log(a.push(40)); //4 返回数组的 ...

  7. 第二章:javascript: 数组

    数组是编程世界里最常见的数据结构.任何一种编程语言都包含数组,只是形式稍微有差异.数组是编程语言中的内建类型,通常效率都很高.可以满足不同需求的数据存储,本章将探索javascript中的数组工作原理 ...

  8. JavaScript操作数组

    数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以 ...

  9. Javascript中数组

    Javascript中数组 1.什么是数组 所谓的数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存) 2.创建数组的含义 创建数组的目的:就是为了保存更多的数据 3.数组的定义 ...

  10. JavaScript删除数组重复元素的5个高效算法

    之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去 ...

随机推荐

  1. LG3834 可持久化线段树1

    题意 给定\(N\)个整数构成的序列,将对于指定的闭区间查询其区间内的第\(K\)小值. $n \leq 2 \times 10^5 $ 思路 在\([l,r]\)区间内的数的个数,可以用\(sum[ ...

  2. hisi35xx串口驱动的完善

    鉴于hisi的uart3还没有打通,ls /dev/ | grep ttyA* ,看到的只有ttyAMA0 和ttyAMA1,且使用应用程序打开ttyAMA1设备后,使用write函数,发送,示波器观 ...

  3. 了解JVM运行时的内存分配

    了解JVM运行时的内存分配 前言 上文中,在介绍运行时数据区域中的 JAVA 堆时,提到了 JVM 中的堆,一般分为三大部分:新生代.老年代.永久代,本文将进一步了解运行时的内存分配情况. 正文 1. ...

  4. python tkinter entry

    """小白随笔,大佬勿喷""" '''Entry编辑框 收集数据''' import tkinter as tk import tkinte ...

  5. vghyj

    2017*****1012:我是康迪:我的爱好是计算机:我的码云个人主页是:https://gitee.com/kdkdkdkd我的第一个项目地址是:https://gitee.com/kdkdkdk ...

  6. Keras RetinaNet github项目

    https://github.com/fizyr/keras-retinanet 根据此网站的方法,利用Pascal VOC 2007数据集开始训练,出现error: D:\JupyterWorkSp ...

  7. Docker日志收集最佳实践

    传统日志处理 说到日志,我们以前处理日志的方式如下: · 日志写到本机磁盘上 · 通常仅用于排查线上问题,很少用于数据分析 ·需要时登录到机器上,用grep.awk等工具分析 那么,这种方式有什么缺点 ...

  8. IT题库6-同步和异步

    同步就是许多线程同时共用一个资源,一个线程在用别的线程就要等待.异步相反,可以不用等待. 同步:发送一个请求,等待返回,然后才能再发送下一个请求:异步:发送一个请求,不等待返回,随时可以再发送下一个请 ...

  9. Git 教程(一):简介和安装

    为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的 ...

  10. 2018.6.10数据结构串讲_HugeGun

    链接: https://pan.baidu.com/s/1uQwLZAT8gjENDWLDm7-Oig 密码: mk8p @echo off : ) shuju test test_ fc test. ...