Array.prototype.map = function (callback) {
const array = this;
return array.reduce((acc, cur, index) => {
acc.push(callback(cur, index, array));
return acc;
}, []);
};
测试:
var m = [1, 2, 3, 4, 5].map(function (v, i, arr) {
return v + v;
});
console.log(m);
reduce案例
var array = [
{
selector: "sss",
rules: "rrrr",
},
{
selector: "sss2",
rules: "rrr3",
},
];
function transform(array, key, value) {
return array.reduce((obj, item) => {
obj[item[key]] = (obj[item[key]] || []).concat(item[value]);
return obj;
}, {});
}
var tree = transform(array, "selector", "rules");
console.log(tree);
文章详细介绍了JavaScript中Array.prototype.map方法和reduce方法的使用,通过实例展示了如何使用回调函数对数组进行映射和数据结构的归并。map用于创建新数组,reduce则用于累加或合并数组元素。
253

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



