1、数组常用方法

var colors = ["red", "blue", "green"];    //creates an array with three strings
alert(colors.toString()); //red,blue,green
alert(colors.valueOf()); //red,blue,green
alert(colors); //red,blue,green

2、数组map()方法

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

        var mapResult = numbers.map(function(item, index, array){
//item 数组元素 index元素对应索引 array原数组
console.log(array === numbers);//true
return item * 2;
});
console.log(mapResult); //[2,4,6,8,10,8,6,4,2]

3、数组reduce()方法

  var values = [1,2,3,4,5];
//接收一个函数,然后从左到右遍历item,直到reduce到一个值。
var sum = values.reduce(function(prev, cur, index, array){
console.log(array === values);
console.log(index);//1,2,3,4 数组的索引从1开始
return prev + cur;//前后两个值相加
});
alert(sum);//

4、数组concat()方法

//concat() 方法用于连接两个或多个数组。
//该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
//语法
//arrayObject.concat(arrayX,arrayX,......,arrayX)
var colors = ["red", "green", "blue"];
var colors2 = colors.concat("yellow", ["black", "brown"]); alert(colors); //red,green,blue
alert(colors2); //red,green,blue,yellow,black,brown

5、数组长度length

 var colors = new Array(3);      //create an array with three items
var names = new Array("Greg"); //create an array with one item, the string "Greg" alert(colors.length);//3
alert(names.length);//1
 var colors = ["red", "blue", "green"]; //creates an array with three strings
var names = []; //creates an empty array
var values = [1,2,]; //AVOID! Creates an array with 2 or 3 items
var options = [,,,,,]; //AVOID! creates an array with 5 or 6 items alert(colors.length); //
alert(names.length); //
alert(values.length); //2 (FF, Safari, Opera) or 3 (IE)
alert(options.length); //5 (FF, Safari, Opera) or 6 (IE)
var colors = ["red", "blue", "green"];    //creates an array with three strings
colors.length = 2;
alert(colors[2]); //undefined
var colors = ["red", "blue", "green"];    //creates an array with three strings
colors.length = 4;
alert(colors[3]); //undefined
 var colors = ["red", "blue", "green"];    //creates an array with three strings
colors[colors.length] = "black"; //add a color
colors[colors.length] = "brown"; //add another color alert(colors.length); //
alert(colors[3]); //black
alert(colors[4]); //brown
var colors = ["red", "blue", "green"];    //creates an array with three strings
colors[99] = "black"; //add a color (position 99)
alert(colors.length); //

6、数组方法every和some

//every()与some()方法都是JS中数组的迭代方法。
//every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true。
//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);
}); alert(everyResult); //false var someResult = numbers.some(function(item, index, array){
return (item > 2);
}); alert(someResult); //true

7、数组filter()方法

//从数组中找到适合条件的元素(比如说大于某一个元素的值)
var numbers = [1,2,3,4,5,4,3,2,1]; var filterResult = numbers.filter(function(item, index, array){
return (item > 2);
}); alert(filterResult); //[3,4,5,4,3]

8、数组indexOf和lastIndexOf

//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
//语法
//stringObject.indexOf(searchvalue,fromindex)
//searchvalue 必需。规定需检索的字符串值。
//fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 /*
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
语法
stringObject.lastIndexOf(searchvalue,fromindex)
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
*/
var numbers = [1,2,3,4,5,4,3,2,1]; alert(numbers.indexOf(4)); //
alert(numbers.lastIndexOf(4)); // alert(numbers.indexOf(4, 4)); //
alert(numbers.lastIndexOf(4, 4)); //3 var person = { name: "Nicholas" };
var people = [{ name: "Nicholas" }];
var morePeople = [person]; alert(people.indexOf(person)); //-1
alert(morePeople.indexOf(person)); //

9、数组toLocaleString和toString

 var person1 = {
toLocaleString : function () {
return "Nikolaos";
}, toString : function() {
return "Nicholas";
}
}; var person2 = {
toLocaleString : function () {
return "Grigorios";
}, toString : function() {
return "Greg";
}
}; var people = [person1, person2];
alert(people); //Nicholas,Greg
alert(people.toString()); //Nicholas,Greg
alert(people.toLocaleString()); //Nikolaos,Grigorios

10、数组push和pop方法

 var colors = new Array();                      //create an array
var count = colors.push("red", "green"); //push two items
alert(count); // count = colors.push("black"); //push another item on
alert(count); // var item = colors.pop(); //get the last item
alert(item); //"black"
alert(colors.length); //

11、数组方法unshift和shift

//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
//shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
var colors = new Array(); //create an array
var count = colors.unshift("red", "green"); //push two items
alert(count); // count = colors.unshift("black"); //push another item on
alert(count); // var item = colors.pop(); //get the first item
alert(item); //"green"
alert(colors.length); //

12、数组倒序方法reverse

 var values = [1, 2, 3, 4, 5];
values.reverse();
alert(values); //5,4,3,2,1

13、数组排序方法sort

function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
} var values = [0, 1, 16, 10, 15];
values.sort(compare);
alert(values); //0,1,10,15,16
//sort 改变原数组

14、数组方法slice

/*
slice() 方法可从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
*/
var colors = ["red", "green", "blue", "yellow", "purple"];
var colors2 = colors.slice(1);
var colors3 = colors.slice(1,4); alert(colors2); //green,blue,yellow,purple
alert(colors3); //green,blue,yellow

15、数组方法splice

/*
plice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
*/
var colors = ["red", "green", "blue"];
var removed = colors.splice(0,1); //remove the first item
alert(colors); //green,blue
alert(removed); //red - one item array removed = colors.splice(1, 0, "yellow", "orange"); //insert two items at position 1
alert(colors); //green,yellow,orange,blue
alert(removed); //empty array removed = colors.splice(1, 1, "red", "purple"); //insert two values, remove one
alert(colors); //green,red,purple,orange,blue
alert(removed); //yellow - one item array

16、数组isArray()方法

alert(Array.isArray([]));   //true
alert(Array.isArray({})); //false

javascript 学习总结(二)Array数组的更多相关文章

  1. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  2. Javascript学习4 - 对象和数组

    原文:Javascript学习4 - 对象和数组 在Javascript中,对象和数组是两种基本的数据类型,而且它们也是最重要的两种数据类型. 对象是已命名的值的一个集合,而数组是一种特殊对象,它就像 ...

  3. 思维导图(自己整理,希望对大家有用):JavaScript函数+canvas绘图+Array数组

    1.javascript函数: 2.Array数组: 3.canvas绘图:

  4. JavaScript学习总结(二十一)——使用JavaScript的数组实现数据结构中的队列与堆栈

    今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被 ...

  5. 转载——JavaScript学习笔记:取数组中最大值和最小值

    转载自:http://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html. 取数组中最大值 可以先把思路 ...

  6. JavaScript学习笔记之Array

    数组的定义: 1,var arr=new Array();      -->数组是特殊的对象,typeOf的返回值是object arr[0] arr[1] ... 2,var arr=new ...

  7. javascript中的二维数组

    要创建一个二位数组我们脑子里第一个出现的就是 var arr=[][]; 但是在javascript这样是会报错的,要在javascrip中创建一个二位数组对象方法如下 方法一     直接把数组写出 ...

  8. 6.javaScript中的二维数组

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. JavaScript学习笔记3之 数组 & arguments(参数对象)& 数字和字符串转换 & innerText/innerHTML & 鼠标事件

    一.Array数组 1.数组初始化(Array属于对象类型) /*关于数组的初始化*/ //1.创建 Array 对象--方法1: var arr1=[]; arr1[0]='aa';//给数组元素赋 ...

  10. javascript学习笔记 - 引用类型 Array

    二 Array 1.可以通过length属性删除或创建新的数组项 arr = [1,2,3]; arr.length = 4;//增加 [1,2,3,undefined] arr.length = 2 ...

随机推荐

  1. 设计模式之享元模式(Flyweight)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  2. 彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代

    今天要给大家分享的是: 在彩色图像上进行Mean Shift迭代搜索目标 二维加权直方图+巴氏系数+Mean Shift迭代 关于 加权直方图.巴氏系数.Mean Shift迭代 这三者之间的关系请大 ...

  3. 14、Cocos2dx 3.0三,找一个小游戏开发Scene and Layer:游戏梦想

    发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30474393 Scene :场景 了解了Director ...

  4. Cocos2d-x3.0 RenderTexture(一) 保存

    .h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h" ...

  5. Oracle安装及使用入门

    新手Oracle安装及使用入门   一.安装Oracle Step1 下载oracle压缩包并解压到同一文件夹下面 Step2 双击setup.exe进行安装 Step3:进入如下界面配置: 邮箱可不 ...

  6. DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能

    DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能 一.引言 在当前的电子商务平台中,用户下完订单之后,然后店家会在后台看到客户下的订单,然后店家可以对客户的订单进行发货操作.此时客户会在自己 ...

  7. SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示

    SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示   1,与MVC集成 见http://simpleinjector.codeplex.com/wikipage? ...

  8. T4模版引擎之生成数据库实体类

    在通过T4模版引擎之基础入门 对T4有了初步印象后,我们开始实战篇.T4模板引擎可以当做一个代码生成器,代码生成器的职责当然是用来生成代码(这不是废话吗).而这其中我们使用的最普遍的是根据数据库生成实 ...

  9. Java设计模式(三)原型模型 适配器型号

    (五岁以下儿童)原型模型 Prototype 样机模型旨在复制一个现有对象来创建新对象.而不是通过的方式的实例.原型模式须要实现 Cloneable 接口.覆写clone方法,复制分为浅复制.深复制. ...

  10. 利用WebBrowser实现Web打印的分析

    原文:利用WebBrowser实现Web打印的分析 WebBrowser是IE内置的浏览器控件,无需用户下载.本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容.其他版本的IE应该也 ...