美文网首页JavaScript相关文章
前端常见的js数组操作面试题集合

前端常见的js数组操作面试题集合

作者: Alexa_老王 | 来源:发表于2019-04-19 18:03 被阅读30次

    前端常见的js数组操作面试题集合

    一、按要求分割数组

    //实例: 将 “刘备,张飞,关羽” 一个字符串数组以“|”分割的形式,输出为 “刘备|张飞|关羽”    注:使用两种方式实现

    (1) for循环累加方法

    var arr1 = ["刘备","张飞","关羽"];

    var separator = "|";

    //通过for循环累加

    var str = arr1[0];

    for(var i=1;i<arr1.length;i++){

      str += separator+arr1[i];

    }

    console.log(str); //返回值为: 刘备|张飞|关羽

    (2) join()可以把数组中的元素链接成字符串

    var arr2 = ["刘备","张飞","关羽"];

    console.log(arr2.join("|")); // 返回值为: 刘备|张飞|关羽

    二、反向输出数组

    //实例: 将一个字符串数组 ["a", "b", "c", "d"] 反转为 [ "d","c","b","a"]    注:使用两种种方式实现

    (1) 直接使用 reverse()数组函数

    var arr1 = ["a", "b", "c", "d"];

    console.log(arr1.reverse()); // 返回值为:["d", "c", "b", "a"]

    (2)正向遍历,反向添加

    var arr2 = ["a", "b", "c", "d"];

    for(var i=0;i<arr2.length/2;i++){

    var temp = arr2[i];

    arr2[i] = arr2[arr2.length-1-i];

    arr2[arr2.length-1-i] = temp;

    }

    console.log(arr2); // 返回值为:["d", "c", "b", "a"]

    三、去掉数组中不符合要求的元素

    //实例: 在工资数组 [1500, 1200, 2000, 2100, 1800] ,把工资超过2000的删除 输出新数组

    var arr = [1500, 1200, 2000, 2100, 1800];

    //步骤: 1.利用filter()形成一个数组;2.return true;3.组成的数组;

    var newArr = arr.filter(function (ele, i, array) {

    //2000以上返回false;

    if(ele<2000){

    return true;

    }else{

    return false;

    }

    });

    console.log(newArr); // 返回值为: [1500, 1200, 1800]

    四、找到某个元素在数组中的下标值

    //实例: 在数组中["c", "a", "z", "a", "x", "a"]找到数组中每一个“a”元素出现的位置

    var arr = ["c", "a", "z", "a", "x", "a"];

    //遍历数组(for/while/do...while)  forEach();

    arr.forEach(function (ele, index, array) {

    //如果元素等于“a”,那么就输出索引值;

    if("a" === ele){

    console.log(index);  // 返回值:  1  3  5

    }

    });

    五、数组去重

    //实例: 编写一个方法去掉一个数组的重复元素

    var arr = ["鸣人","小樱","佐助","佐助","鸣人","小樱"];

    //思路:1.定义一个新数组,2.遍历老数组,3.判断,如果新数组里面没有老数组的元素就添加,否则就不添加

    var newArr = [];

    //遍历老数组

    arr.forEach( function (ele,index,array) {

        //检测老数组中的元素,如果新数组中存在就不添加了,不存在才添加;

        if( newArr.indexOf(ele) === -1){ //不存在就添加;(去新数组中查找元素索引值,如果为-1就是没有)

          newArr.push(ele);

        }

    });

    console.log(newArr); // 返回值为: ["鸣人", "佐助", "小樱"]

    相关文章

      网友评论

        本文标题:前端常见的js数组操作面试题集合

        本文链接:https://www.haomeiwen.com/subject/ajpcgqtx.html