Maison > interface Web > js tutoriel > Explication détaillée de l'utilisation du tableau JS

Explication détaillée de l'utilisation du tableau JS

小云云
Libérer: 2018-03-28 16:31:33
original
1481 Les gens l'ont consulté

Cet article partage principalement avec vous l'explication détaillée de l'utilisation des tableaux JS, principalement sous forme de code. J'espère qu'il pourra vous aider.

1. Ajout et suppression de tableaux La méthode push() ajoute un ou plusieurs éléments à la fin du tableau

    a = [];
    a.push("zero")     // a = ["zero"]
    a.push("one","two") // a = ["zero","one","two"];
Copier après la connexion

La méthode pour supprimer un élément de la fin du tableau est la méthode pop() Le principe est de réduire la longueur du tableau de 1 et de renvoyer l'élément supprimé.

2. join()

Array.join()方法将数组中的所有的元素转化为字符串并连接一起,返回最后生成的字符串。默认是是逗号,中间可以是任意的字符。
Copier après la connexion
    var bb = ['abc','cd',1,5];
    bb.join("/")    //"abc/cd/1/5"
Copier après la connexion

La méthode Array.join() est l'inverse de String.split (), cette dernière consiste à diviser la chaîne en un tableau.

    var str = "abc/cd/1/5";
    str.split("/")    //["abc", "cd", "1", "5"]
Copier après la connexion

3. inverse()

Array.reverse()将数组中的元素顺序颠倒,
Copier après la connexion
    var s = [1,2,3];
    s.reverse().join("-")   //"3-2-1"
Copier après la connexion

4. 🎜>

对数组中的元素进行排序,返回排序后的数组。当sort()不带参数时,是按字母表排序。
Copier après la connexion
    var a = new Array("banaa","apple","cherry");
    a.sort();
    var s = a.join("/");   //"apple/banana/cherry"
Copier après la connexion
进行数组排序,要传递一个比较函数,假设第一个参数在前,比较函数返回一个小于0的数值,
Copier après la connexion
5. concat()
    var a = [33,4,111,222];
    a.sort()   //111,222,33,4
    a.sort(function(a,b){return a-b});  //4,33,222,111
Copier après la connexion

Array.concat()方法创建并返回一个新数组,连接的数组元素,不是数组本身,concat()不会修改调用的数组
Copier après la connexion
6. La méthode Array.slice() renvoie un fragment ou un sous-tableau du tableau spécifié. Les paramètres sont la position de départ et la position de fin
var a = [1,2,3];var b = a.concat();   数组的复制//b = [1,2,3]a.concat([4,5]);      //[1,2,3,4,5]
Copier après la connexion

7. 🎜>
    var a = [1,2,3,4,5];
    var b = a.slice(0,3)  //[1,2,3]
    a.slice(3)        //[4,5]
    a.slice(1,-1)      //[2,3,4]
    a.slice(-3,-2)     //[3]
Copier après la connexion

8. push(), pop()
Array.splice()方法在数组中插入或删除元素,不同于slice(),concat(),会修改数组。
Copier après la connexion
    var a = [1,2,3,4,5,6,7,8];
    var b = a.splice(4); //a = [1,2,3,4],b=[5,6,7,8]
    var c = a.slice(1,2)  //a = [1,4] b=[2,3]
    var a = [1,2,3,4,5];
    a.splice(2,0,'a','b')  //a = [1,2,'a','b',3,4,5]
Copier après la connexion

9. shif()
push()在数组的尾部添加一个或者多个元素,并返回数组的新的长度。pop()删除最后一个元素,返回删除的元素。
Copier après la connexion
    var stack =[];
    stack.push(1,2)   //返回2
    stack.pop()       //返回2
Copier après la connexion

Méthodes de tableau dans es5 :
在数组的头部进行操作,unshift()在头部添加一个或多个元素,返回长度,shift()删除数组的第一个元素,并返回
Copier après la connexion
    var a = [];
    a.unshift(1,2,3,4)    //a:[1,2,3,4] 返回4
    a.shift()           //a:[2,3,4]  返回1
Copier après la connexion

forEach()

遍历、映射、过滤、检测、简化、搜索数组
Copier après la connexion

2. carte()
是从头至尾遍历数组,为每个元素调用制指定的函数,该函数接收三个参数,数组元素(value)、索引(index)、数组本身(arr);
Copier après la connexion
    var data = [1,2,3,4,5];
    //每个元素值自加1
    data.forEach(function(v,i,a){
        a[i] = v + 1;
    })
    //[2,3,4,5,6]
Copier après la connexion

3. filtre()
map()方法将调用的数组的每一个元素传递给指定的函数,返回一个新数组
Copier après la connexion
    a = [1,2,3];
    b = a.map(function(x){
        return x*x;
    })
    //[1,4,9]
Copier après la connexion

4. Every() et some()
filter()方法是对数组的每一个元素的,在传递函数中进行逻辑判断,该函数返回true、false
Copier après la connexion
    var a = [1,2,3,4,5];
    var b = a.filter(function(x){return x < 3})  //[1,2]
Copier après la connexion

5. 🎜>
every()是对所有的元素在传递函数上进行判断为true,some()是对其中的一个进行判断。
Copier après la connexion
    var a = [1,2,3,4,5];
    a.every(function(x){ return x%2 === 0 })  //false,不是所有的值都是偶数
    a.some(function(x){
        return x%2 === 0;
    }) //true,a含有偶数
Copier après la connexion

6. indexOf() et lastIndexOf()

搜索整个数组中给定的值的元素,返回找到的第一个元素的索引值,没有找到返回-1,
Copier après la connexion
    var a = [0,1,2,1,0];
    a.indexOf(1)  //1
    a.lastIndexOf(1) //3
    a.indexOf(3)  //-1
Copier après la connexion

es6数组方法:

1、Array.of()方法,创建一个包含所有参数的数组

    let items = Array.of(1,2);//[1,2]
    let items = Array.of(2)  //[2]
    let items = Array.of("2")//["2"]
Copier après la connexion

2、Array.from(),将非数组对象转换为正式数组3、find()和findIndex()接收两个参数,一个是回调函数,另一个是可选参数,find()返回查找到的值,findeIndex()返回查找到的索引值,

let number = [25,30,35,40,45]console.log(number.find(n => n > 33))  //35console.log(number.findIndex(n => n >33)) //2
Copier après la connexion

数组去重

1、遍历数组去重

function unique(obj){
    var arr = [];
    var len = obj.length;
    for(var i=0;i<len;i++){
        if(arr.indexOf(obj[i]) == -1){
            arr.push(obj[i])
        }
    }
    return arr;}unique([1,1,1,2,3])[1,2,3]
Copier après la connexion

2、对象键值对法

function unique(obj){
    var tar = {},arr = [],len = obj.length,val,type;
    for(var i = 0;i<len;i++){
        if(!tar[obj[i]]){
            tar[obj[i]] = 1;
            arr.push(obj[i])
        }
    }
    return arr;}
Copier après la connexion

3、es6 new Set()方法

Array.from(new Set([1,2,3,3,3])) //[1,2,3]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal