zoukankan      html  css  js  c++  java
  • 常见数组方法及细节

    /**
     * 查找元素在数组中出现的所有位置
     * @param {要查找的数组} array 
     * @param {要查找的元素} ele 
     * @param {回调函数} callback 
     */
    function findAllIndex(array, ele, callback) {
        let indices = [];
        if (array && Array.isArray(array) && array.length) {
            let idx = array.indexOf(ele);
            while (idx != -1) {
                indices.push(idx);
                idx = array.indexOf(ele, idx + 1);
            }
            if ((typeof callback === "function") && callback) {
                callback(array, indices);
            }
            return indices;
        }
        return false;
    }
    // 查询元素在数组出现的次数
    var Obj = Arrar.reduce(function (obj, name) {
      obj[name] = obj[name] ? ++obj[name] : 1;
      return obj;
    }, {});
    /**
     * 
     * @desc 判断两个数组是否相等
     * @param {Array} arr1 
     * @param {Array} arr2 
     * @return {Boolean}
     */
    function arrayEqual(arr1, arr2) {
        if (arr1 === arr2) return true;
        if (arr1.length != arr2.length) return false;
        for (var i = 0; i < arr1.length; ++i) {
            if (arr1[i] !== arr2[i]) return false;
        }
        return true;
    }
    //快速数组求和
    let array=[12,312,3,67,3,423,878,21];
    eval(array.join("+"));
    //数组求最大最小
    let array = [1,2,3,4,5,6,7,8,9]
    let maxNumber = Math.max.apply(Math,array)
    let minNumber = Math.min.apply(Math,array)
    Math 可以使用null
    //数组去重
    [...new Set([1,2,34,5,1,1,"1"])]
    //如何判断一个数组
    
    Array.isArray ||  instanceof Array || Object.prototype.toString.call || arr.constructor === Array
    细节冷知识
    slice() 方法返回一个新的数组对象,这一对象是一个由 begin和 end(不包括end)决定的原数组的浅拷贝。原始数组不会被改变
    arr.slice();
    // [0, end]
    
    arr.slice(begin);
    // [begin, end]
    
    arr.slice(begin, end);
    // [begin, end)

    concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
    语法:var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
    参数是对象引用的话,那么也只是将对象的引用复制的新是数组,所以只能浅拷贝

    indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
    语法:arr.indexOf(searchElement)
          arr.indexOf(searchElement[, fromIndex = 0])
    注意:索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0
     
    不忘初心,不负梦想
  • 相关阅读:
    Ubuntu 13.10 x64 安装 Eclipse Android SDK Java开发IDE
    域名 TTL 查询
    mysql 常用设置:字符集编码、自动完成(自动提示)、监听外网ip
    PHP 设置:timezone、error_log
    数字发行:电子书、电影、游戏、音乐
    细节:php array会把string key自动转成int吗?
    REST URI设计:版本号放在http header中,rewrite配置
    Linux时区设置
    Linux添加sudo用户
    php curl常见错误:SSL错误、bool(false)
  • 原文地址:https://www.cnblogs.com/panrui1994/p/10773365.html
Copyright © 2011-2022 走看看