当前位置: 代码迷 >> 综合 >> Js公共函数------对象数组数据进行处理
  详细解决方案

Js公共函数------对象数组数据进行处理

热度:67   发布时间:2024-01-20 03:30:17.0
/*** 通过id获取对应的对象** @param {string} id ID* @param {array} array 数据集* @return {object} id所在的对象*/
const findByID = (id, array) =>(array || []).find(({ id: itemID }) => itemID === id);/*** 通过id获取对应的对象的下标** @param {string} id ID* @param {array} array 数据集* @return {number} id所在的对象的下标*/
const findIndexByID = (id, array = []) =>(array || []).findIndex(({ id: itemID }) => itemID === id);/*** array1 包含 array2,并在 array1 中把所有的 array2 剔除** @param {array} array1 数组A* @param {array} array2 数组B* @return {array} 剔除了所有 array2 的 array1*/const compare = (array1, array2) =>Object.keys(array1).length === Object.keys(array2).length &&Object.keys(array1).every(key => array1[key] === array2[key]);/*** 数组根据key去重** @param {array} array 数组A* @param {string} key 键* @return {array} 去重后的数组*/
const unique = (array, key) => {const object = {};array.reduce((prev, next) => {// eslint-disable-next-line no-unused-expressionsobject[next[key] + typeof next[key]]? '': (object[next[key] + typeof next[key]] = true && prev.push(next));return prev;}, []);return array;
};/*** 自身数组去重** @param {array} array 数组* @return {array} 去重后的数组*/
const selfUnique = array => {const oldArrStringf = [];array.forEach(item => {oldArrStringf.push(JSON.stringify(item));});const uniqueArr = Array.from(new Set(oldArrStringf));const newArrs = [];uniqueArr.forEach(item => {newArrs.push(JSON.parse(item));});return newArrs;
};export { findByID, findIndexByID, compare, unique, selfUnique };

 

  相关解决方案