【发布时间】:2022-06-12 01:20:39
【问题描述】:
function fMI(num,arr){
let digit = arr.toString().split('');
let realDigit = digit.map(Number);
console.log("Is RealDigit an array: ",Array.isArray(realDigit));
console.log(realDigit.filter((v,i,a) => (v==num)? i:''));
}
fMI(1,[1, 11, 34, 52, 61]);
我正在努力从数组中返回值的索引。 到目前为止,我编写的代码采用一个数字并将其与函数接收的数组进行比较。 现在,我正处于想要返回数组值等于函数用于比较的数字的索引的阶段。
我怎样才能做到这一点,因为在过滤方法之后,我只得到了数字 1 的 3 倍,这是不对的。
function fMI(num:number,arr:number[]){
let digit = arr.toString().split('');
let realDigit = digit.map(Number);
console.log("Is RealDigit an array: ",Array.isArray(realDigit));
console.log(realDigit.filter((v,i,a) => (v==num)? i:''));
}
fMI(1,[1, 11, 34, 52, 61]);
【问题讨论】:
-
您可能必须使用 .map 而不是 .filter。 Filter 总是返回从你给 .filter 的函数返回 true 的数组值,而使用 .map 你可以在某些条件适用时返回索引。
标签: javascript arrays typescript