在javaScript中,在reduce()和map()中使用下划线代表什么?

在javaScript中,在reduce()和map()中使用下划线代表什么?,javascript,arrays,Javascript,Arrays,这源于另一个编码器Codewars解决方案 目标:此时的代码用于返回行、列和对角线的总和,以查看此4x4魔术中所述的所有总和是否相同 问题:然而,我不能弄清楚这段代码中的下划线是用来做什么的,有什么想法吗 在这种特殊情况下,它们被用作编写代码的人不打算使用的参数的参数名 他们不想费心给这些参数命名,所以他们把它们命名为。这只是一个变量名。变量名可以使用$和u。下划线.js通常使用它,但它可以是任何变量:查看此项了解更多信息。它只是一个变量。而且这是不正确的var\u c=\u r(arr.map

这源于另一个编码器Codewars解决方案

目标:此时的代码用于返回行、列和对角线的总和,以查看此4x4魔术中所述的所有总和是否相同

问题:然而,我不能弄清楚这段代码中的下划线是用来做什么的,有什么想法吗


在这种特殊情况下,它们被用作编写代码的人不打算使用的参数的参数名


他们不想费心给这些参数命名,所以他们把它们命名为

这只是一个变量名。变量名可以使用$和u。下划线.js通常使用它,但它可以是任何变量:查看此项了解更多信息。它只是一个变量。而且这是不正确的
var\u c=\u r(arr.map((v,i)=>v.map((uj)=>arr[j][i])
\r
只是一个变量。不是函数下划线本身被很多人用来表示他们不关心的参数。例如,如果您有一个事件处理程序并且不关心
事件
对象:
elem.addEventListener('click',=>document.querySelector('other elem')。textContent='foobar')
代表什么,对于
var\u d2=a=>a.reduce((s,u,i)=>s+a[a.length-1-i][i],0)
如在
Array#reduce
中,'.'表示什么参数?@A.Tran第二个参数保存输入数组中每个连续值的值。该代码行忽略该参数,并仅基于累加器
s
和连续索引编号
i
生成结果。该代码生成一个函数
\u d2
,该函数接受一个二维数组,并返回从左下到右上的对角线之和:
arr[3][0]+arr[2][1]+arr[1][2]+arr[0][3]
var arr = [
    [9, 6, 3, 16],
    [4, 15, 10, 5],
    [14, 1, 8, 11],
    [7, 12, 13, 2]
];

var _r = arr.map(v => v.reduce((a, b) => a + b), 0)
var _c = _r(arr.map((v, i) => v.map((_, j) => arr[j][i])));
var _d1 = arr = arr.reduce((s, _, i) => s + arr[i][i], 0);
var _d2 = a => a.reduce((s, _, i) => s + a[a.length - 1 - i][i], 0);

console.log(_r);
console.log(_c);
console.log(_d1);
console.log(_d2)