找同 找出数组中所有存在相同的值
js
/**
* @summary 找出数组中所有存在相同的值
* @method 找同
* @param {Array} arr
* @return Array
*/
export const findSame = (arr) => {
return arr.filter((item, index) => arrList.indexOf(item) != index || arrList.indexOf(item, index + 1) != -1).sort();
}去重 去除数组中所有存在重复的值
js
/**
* @summary 去除数组中所有存在重复的值
* @method 去重
* @param {Array} arr
* @return Array
*/
export const uniqueSame = (arr) => {
return arr.filter((item, index, array) => array.indexOf(item) === index)
}去重 去除数组对象中所有存在重复的值
js
/**
* @summary 去除数组对象中所有存在重复的值
* @method 去重
* @param {Array} arr 数组对象
* @param {String} key 根据key值去重
* @return Array
*/
export const uniqueSameByObj = (arr, key) => {
return arr.reduce((acc, cur) => {
let existingObj = acc.find(item => item.name === cur.name);
if (existingObj) {
if ("bol" in cur) {
existingObj.bol = cur.bol;
}
} else {
acc.push(cur);
}
return acc;
}, []);
}数组(xlsx)数据转对象
js
//excel数组的数据转对象
//[[key...],[value...],[value...],[value...]] -> {key:[value...]}
const ExcelListDataToZjJson = (list, ColIndex) => {
const jsonData = {};
list.forEach((item, index) => {
if (index == 0) return; //跳过表头
const keyname = item[ColIndex]; //镇街名
if (jsonData.hasOwnProperty(zj)) {
jsonData[keyname].push(item);
} else {
jsonData[keyname] = [item];
}
});
return jsonData;
};
module.exports = {ExcelListDataToZjJson}