javascript - JavaScript map() 函数在内部有返回值时如何迭代直到数组大小?
问题描述
首先,我需要说我是 java 脚本的新手并做出反应。所以我需要详细说明下面的代码。
<ul>
{ this.state.tags.map(tag=>{
return <li key={tag}>{tag}</li>}
)}
</ul>
在我的反应应用程序中,我有一个名为 tags 的数组,在这里我试图将我的数组元素映射到一些 html 元素(列表元素),所以预期的输出就在那里,但我需要知道映射函数是如何执行的,直到它最后代码中有return语句时的元素。
我的意思是,如果你在 java 中有一个这样的 for each 循环,如果你调用这个方法,那么你将只得到 5 作为输出,因为函数将在 for each 的第一次迭代中终止。所以请解释这是不正确的用js。
public static Integer getfirstElement(){
List<Integer> arr= new ArrayList<Integer>();
arr.add(5);
arr.add(2);
arr.add(3);
for(Integer temp : arr){
return temp;
}
return 0;
}
解决方案
作为第二个参数的函数内部的map()
函数是一个回调函数,map()
它在每次迭代中调用它。
顾名思义map
,该函数将数组的每一项映射(转换)为回调的返回值。
它像是:
function map(array, callback){
const mappedArray = [];
for(let i = 0; i < array.length; i++){
mappedArray[i] = callback(array[i])
}
return mappedArray;
}
function doubleTheValue(i){
return i*2
}
const arr = [1,2,3]
const mapArr = map(arr, doubleTheValue)
console.log(mapArr)
推荐阅读
- google-apps-script - 如何避免在 google-sheet 应用程序脚本中重定向
- vim - 有没有办法执行 txt 文件中的 vim 命令以及文本?
- javascript - 我如何使响应机器人不继续响应?
- python - 不能在 python 中使用代理
- javascript - 以角度动态更改各种输入的css属性
- android - 如何为从中心位置到全直径的波纹效果设置动画
- python-3.x - 如何解析我的 pcap 文件中的所有数据包而不是一个?
- c# - 如何打包 C# 9 源代码生成器并将其上传到 Nuget?
- javascript - SVGR (SVGO) removeAttrs 不移除指定的填充属性
- java - Intellij 编译错误:java:错误:不支持发布版本 5