写的不好,个人记录方便时使用,仅供参考. 有不足请多多指正刚刚学前端
/**
* @param {*} ArrayList 需要分类的数组
* @param {*} objectKeyName 需要分类的对象键名称
*/
function classification(ArrayList, objectKeyName) {
let newArrayPersevationKeyName = [];
if (ArrayList === null || ArrayList.lenght === 0) return;
return ArrayList.reduce((oldData, newData, index) => {
if (newData.constructor === Array) {
newArrayPersevationKeyName.push(...newData);
if (ArrayList.length - 1 === index) {
console.log(index)
oldData.push(...classification(newArrayPersevationKeyName, objectKeyName));
return oldData;
}
return oldData;
} else if (newData.constructor === Object) {
if (newArrayPersevationKeyName.length === 0) {
oldData.push([newData]);
newArrayPersevationKeyName.push(newData[objectKeyName]);
return oldData;
}
if (newArrayPersevationKeyName.indexOf(newData[objectKeyName]) != -1) {
oldData[newArrayPersevationKeyName.indexOf(newData[objectKeyName])].push(newData);
} else {
oldData.push([newData]);
newArrayPersevationKeyName.push(newData[objectKeyName]);
}
return oldData;
}
}, [])
}
这是一个用于前端开发的JavaScript函数,功能是对ArrayList中的对象根据指定的objectKeyName进行分类。函数首先检查输入是否为空,然后利用reduce方法遍历数组,对数组元素进行判断,如果是数组则递归分类,如果是对象则根据objectKeyName将对象归入相应的组别。
1155

被折叠的 条评论
为什么被折叠?



