javascript 学习总结(二)Array数组

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);//15

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);    //3
        alert(names.length);     //0
        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);    //5
        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);  //100

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));        //3
        alert(numbers.lastIndexOf(4));    //5

        alert(numbers.indexOf(4, 4));     //5
        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)); //0

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);  //2

        count = colors.push("black");                  //push another item on
        alert(count);  //3

        var item = colors.pop();                       //get the last item
        alert(item);   //"black"
        alert(colors.length);  //2

11、数组方法unshift和shift

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

        count = colors.unshift("black");               //push another item on
        alert(count);  //3

        var item = colors.pop();                     //get the first item
        alert(item);   //"green"
        alert(colors.length);  //2

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
时间: 2024-10-10 21:34:41

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

javascript 学习小结 (二) by FungLeo

javascript 学习小结 (二) by FungLeo 前言 前面写过一个学习小结javascript 学习小结 JS装逼技巧(一) by FungLeo 那篇博文总结的东西还是比较多的. 但是JS有很多的内容,都是很有用的知识点,不可能一下子记住.因此,我的学习小结的会一直更新. 因为学习进度的不同,可能每篇博文的长短也不一样,有的学的东西多,就长点. 查询某个字符串在某个数组中的索引值 笨方法 我的基础比较差,所以很多东西是记不住的.因此,我在需要这样做的时候,我写了如下代码 var

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

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

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

今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: sh

JavaScript学习-js中的数组/Boolean类/字符串String类

JavaScript学习 [js中的数组] 1.数组的概念:是在内存中连续储存对个有序元素的结构 元素的顺序称为下标,通过下标查找对象元素. 2.数组的声明: ① 字面量声明:var arr1 = []; js中,同一数组,可以储存多种不同的数据类型: 例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]] ② new关键字声明: var arr2 = new Arry(参数) >>&g

6.javaScript中的二维数组

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script type="text/javascript"> 7 //声明一维数组 8 var myarr = new Array(); 9 for (var i = 0; i < 3; i++) {

JavaScript学习笔记之Array

数组的定义: 1,var arr=new Array();      -->数组是特殊的对象,typeOf的返回值是object arr[0] arr[1] ... 2,var arr=new Array("","")          -->在此处直接加入数组元素如果是数值需要有2个以上,否则只有一个数值会被解析成数组的长度 3,var arr=["",""] 4,var arr=[] arr[0]= arr[1

javascript学习笔记整理(数组)

数组是一个可以存储一组或是一系列相关数据的容器. 一.为什么要使用数组. a.为了解决大量相关数据的存储和使用的问题. b.模拟真是的世界. 二.如何创建数组 A.通过对象的方式来创建——var a=new Array(); 赋值方式: 1.直接赋值——var a=new Array(元素1,元素2,元素3,元素4,........) var a=new Array(数值)如果只有一个元素,并且这个元素是数值类型的,那么他就是指定数组的长度并且他的值都是undefined var a=new A

javascript学习(一)数组操作

.数组的创建 [javascript] view plaincopy var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,

javascript学习笔记 - 引用类型 Array

二 Array 1.可以通过length属性删除或创建新的数组项 arr = [1,2,3]; arr.length = 4;//增加 [1,2,3,undefined] arr.length = 2;//删除 [1,2]arr[6] = 6; // [1,2,3,undefined,undefined,6] 2.检测数组 Array.isArray() 3.转换方法 调用数组的toString()方法,返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串.实际上,为了创建这个字符串,

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

一.Array数组 1.数组初始化(Array属于对象类型) 1 /*关于数组的初始化*/ 2 //1.创建 Array 对象--方法1: 3 var arr1=[]; 4 arr1[0]='aa';//给数组元素赋值 5 arr1[1]='bb'; 6 arr1[2]='cc'; 7 arr1[3]='dd'; 8 console.log(arr1);//["aa","bb","cc","dd"] 9 //1.创建 Arra