JS原生数组方法的用法及其实现(上)

504 阅读3分钟

概述

1、何为数组?

数组是值的有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称之为索引。


2、数组的作用

Array数组对象用于在变量中存储多个值

创建数组和存储数据

1.使用数组字面量创建数组

    var arr1 = [];//没有存储东西的空数组
    var arr2 = [1,2,3];//创建存储1、2、3三个数字的数组
    var arr3 = [1,'中国','abc']//创建存储1'中国''abc'三个不同数据类型的数组

2.使用Array构造函数创建数组

    var arr4 = new Array(); //创建一个空数组
    var arr5 = new Array(10); // 创建一个包含20项的数组
    var arr6 = new Array('1','美国','cba'); 创建一个包含三个不同数据类型的数组

索引

第一个数组元素的索引值为 0,第二个索引值为 1,以此类推。

document.write(arr2[0]);//在数组arr2中索引为0的数据 显示结果为1
document.write(arr3[1]);//在数组arr3中索引为1的数据 显示结果为“中国”

数组的长度

每个数组都有一个length属性,length属性值代表数组中元素的个数,其值比数组中最大的索引大一。

arr1.length;//  =>0;数组为空没有元素
arr2.length;//  =>3;最大索引值得2,数组长度为3
//注意:数组的length属性还可以赋值,而数组的长度会根据length的变化而变化。

循环遍历数组的标准写法

var num =[66,80,90,77,59]; 
for(var i=0;i<num.length;i++){
	document.write(num[i] + "<br>");
}


3、数组原型方法主要有以下这些

1.会改变自身原数组的方法

  • sort()
  • pop()
  • push()
  • shift()
  • unshift()
  • reverse()
  • splice()

2.不会改变自身原数组的方法

  • concat()
  • join()
  • slice()
  • toString()
  • toLocaleString()
  • indexOf()
  • lastIndexOf()

4、数组原型方法原生标准写法

一、sort()

定义和用法

sort() 方法用于对数组的元素进行排序。

语法

document.write(arr2.sort())//  =>1,2,3;把数组进行排序

原生sort()方法标准写法

var arr2 = [1,5,3,4,2,7,6];
    function sort(arr) {
        for (var i = 0; i < arr.length; i++){
            for(var k = 0; k < arr.length; k++){
                if(arr[i]>arr[k]){
                        var a =arr[i];
                        arr[i]=arr[k];
                        arr[k]=a
                }
            }
        }
        return arr;
    }
    document.write(sort(arr2));//   =>7,6,5,4,3,2,1;

二、pop()

定义和用法

pop() 方法用于删除并返回数组的最后一个元素。

语法

    var arr2 = [1,2,3,4,5,6,7];
    document.write(arr2.pop());//  =>7;删除并返回最后一个
    document.write(arr2);//  =>1,2,3,4,5,6;刚刚删除了最后一个

原生pop()方法标准写法

 var arr2 = [1,2,3,4,5,6,7];
 function pop(arr) {
        var res = arr[arr.length - 1];
        arr.length = arr.length - 1;
        return res;
    }
 document.write(pop(arr2));// =>7;删除并返回数组最后一个元素

三、push()

定义和用法

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

语法

 var arr2 = [1,2,3,4,5,6,7];
 arr2.push(8,9);//向数组末端添加8,9
 document.write(arr2);// =>1,2,3,4,5,6,7,8,9

原生push()方法标准写法

var arr2 = [1,2,3,4,5,6,7];
function push(value){
    push[push.length] = value;
    return push.length;
    }
 arr2.push(14);
 document.write(arr2);// =>1,2,3,4,5,6,7,14

未待完续