我正在寻找一个返回元素索引的命令,以便可以在地图函数中使用它。
这是一个例子:
function myFunction() {
var a = [4,7,9];
//Looking for a way to return ["index 0 : 4", "index 1 : 7", "index 2 : 9"]
//Only workaround found so far :
var i = -1;
Logger.log(a.map(function(el) {i++; return "index " + i + " : " + el}));
}
我敢肯定,有一条更整洁的命令可以给我元素的索引,但是到目前为止,我所有的Google搜索都没有结果。
答案 0 :(得分:2)
回调函数中的第二个参数是index
,您可以使用
Array.map((value,index,this))
function myFunction() {
var a = [4,7,9];
console.log(a.map((v,i)=> "index " + i + " : " + v));
}
myFunction()
答案 1 :(得分:1)
您可以通过三个步骤使它更清洁:
map()
的callback的第二个参数,它是元素的索引。+
。
var a = [4,7,9];
let res = a.map((x,i) => `index ${i} : ${x}`);
console.log(res)
在上面的代码中,您创建了一个没有任何意义的函数。该函数应将数组作为参数,然后记录该特定arr的值。
const myFunction = arr => console.log(arr.map((x,i) => `index ${i} : ${x}`));
myFunction([4,7,9])
答案 2 :(得分:1)
map
已经为您提供了索引。回调获取三个参数:
a.map(function(element, index, array) {return "index " + index + " : " + element})
您无需声明所有这三个参数(JavaScript对此并不挑剔),但是如果需要它们,它们就在那儿。
答案 3 :(得分:1)
您也可以简单地使用Array.from,因为它的第二个参数是Array.map:
KeyboardAvoidingView
总体思路是使用map的第二个参数(为您提供当前的迭代索引),并使用该参数和当前值来构造结果。