/** * 查找元素在数组中出现的所有位置 * @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