gpt4 book ai didi

javascript - 映射/过滤/减少数组

转载 作者:行者123 更新时间:2023-11-29 16:19:33 27 4
gpt4 key购买 nike

我有一个以数组作为类成员的类。我有很多类函数可以对数组的每个元素做一些事情:

function MyClass {
this.data = new Array();
}

MyClass.prototype.something_to_do = function() {
for(var i = 0; i <= this.data.length; i++) {
// do something with this.data[i]
}
}

MyClass.prototype.another_thing_to_do = function() {
for(var i = 0; i <= this.data.length; i++) {
// do something with this.data[i]
}
}

有什么办法可以改进这段代码吗?我在函数式语言中搜索类似“map()、filter()、reduce()”的内容:

MyClass.prototype.something_to_do = function() {
this.data.map/filter/reduce = function(element) {
}
}

删除显式 for 循环的任何方法。

最佳答案

JavaScript 中有一个map() 函数。看看 MDN docu :

Creates a new array with the results of calling a provided function on every element in this array.

MyClass.prototype.something_to_do = function() {
this.data = this.data.map( function( item ) {
// do something with item aka this.data[i]
// and return the new version afterwards
return item;
} );
}

因此有 filter() ( MDN ) 和 reduce() ( MDN )。

关于javascript - 映射/过滤/减少数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com