Javascript 有人能解释一下.map()方法的工作原理吗
在此解释.map()方法中箭头函数的用法Javascript 有人能解释一下.map()方法的工作原理吗,javascript,Javascript,在此解释.map()方法中箭头函数的用法 let mFunc= function(fname, data) { for (i in data.shop) { //iterating through the JSON data if (data.shop[i].name == fname) { let dataSv = data.shop[i]; // We found a match, displ
let mFunc= function(fname, data) {
for (i in data.shop) { //iterating through the JSON data
if (data.shop[i].name == fname) {
let dataSv = data.shop[i];
// We found a match, display details
for (y in dataSv){
if (typeof dataSv[y][0] === 'object') {
dataSv[y] = dataSv[y].map(z => z.name) // explain me this part
}
alert(i + " : " + dataSv[y])
}
}
}
}
}它只返回数组中每个元素的“name”属性,而不是原始对象
基本上,=>
右侧的代码计算结果将成为.map()迭代的每个数组元素的返回值
有关更多信息和可运行的演示,请参见。您可以使用该演示玩它,它将只返回数组中每个元素的“name”属性,而不是原始对象
.map(z => z.name)
基本上,=>
右侧的代码计算结果将成为.map()迭代的每个数组元素的返回值
有关更多信息和可运行的演示,请参见
.map(z => z.name)
是以下的简写:
.map(z => {
return z.name;
})
所以当你只想在函数中写一行,这是一个返回语句时,你可以用这个简写
是以下的简写:
.map(z => {
return z.name;
})
因此,当您只打算在函数中写入一行,即返回语句时,可以使用这种简写方式。这只是将对象数组转换为字符串数组,其中包含每个元素的
名称。
如果在数组函数中的=>
之后编写表达式,它将返回该表达式
箭头函数可以有一个简明的正文或通常的块正文
在简明体中,只指定一个表达式,该表达式将成为隐式返回值。在块体中,必须使用显式的return
语句
相当于
dataSv[y] = dataSv[y].map(z => {
return z.name;
})
这只是将对象数组转换为字符串数组,字符串数组将包含每个元素的名称。
如果在数组函数中的=>
之后编写表达式,它将返回该表达式
箭头函数可以有一个简明的正文或通常的块正文
在简明体中,只指定一个表达式,该表达式将成为隐式返回值。在块体中,必须使用显式的return
语句
相当于
dataSv[y] = dataSv[y].map(z => {
return z.name;
})
检查这个例子。这可能会让事情变得更清楚
dataSv=[
[
{name:'one',id:1},
{name:'two',id:2},
{name:'three',id:3}
],
[
{name:'seven',id:11},
{name:'seven',id:12},
{姓名:“十三”,id:13}
],
[
{姓名:“二十一”,id:21},
{姓名:'22',id:22},
{姓名:'23',id:23}
]
]
dataSv[0]=dataSv[0]。映射(z=>z.name)
dataSv[1]=dataSv[1]。映射(z=>z.name)
dataSv[2]=dataSv[2]。映射(z=>z.name)
console.info(dataSv)
检查此示例。这可能会让事情变得更清楚
dataSv=[
[
{name:'one',id:1},
{name:'two',id:2},
{name:'three',id:3}
],
[
{name:'seven',id:11},
{name:'seven',id:12},
{姓名:“十三”,id:13}
],
[
{姓名:“二十一”,id:21},
{姓名:'22',id:22},
{姓名:'23',id:23}
]
]
dataSv[0]=dataSv[0]。映射(z=>z.name)
dataSv[1]=dataSv[1]。映射(z=>z.name)
dataSv[2]=dataSv[2]。映射(z=>z.name)
console.info(dataSv)
map
返回一个数组(据我猜测)name
字符串。它是在dataSv[y]
上循环,并且对于迭代中的每个对象,隐式返回它的name
属性。您想知道的内容可能重复?A是如何工作的?或者是它本身?文档还不够清晰吗?map
返回一个数组(据我猜测)name
字符串。它是在dataSv[y]
上循环,并且对于迭代中的每个对象,隐式返回它的name
属性。您想知道的内容可能重复?A是如何工作的?或者是它本身?文档是否足够清晰?否则称为“隐式返回”+1另一种说法是“隐含回报”+1.