>我尝试在数组中找到数字 7 并返回true
(不管是7
、47
还是507
)
阵列:[17, 23, 9, 590]
我尝试使用arr.includes(7)
但这只返回数字7
. (所以在这种情况下它返回false
,因为数组中没有7
- 只有17
)
问题是比较number === 7
,你应该比较每个数字。
您可以使用函数Array.prototype.some
和函数String.prototype.includes
来检查特定的数字/字符。
此方法查找每个数字数字上的数字7
。
console.log([17, 23, 9, 590].some(n => String(n).includes(7)))
您可以加入数字并查看是否包含7
。
var data = [17, 23, 9, 590],
has7 = data.join('').includes(7);
console.log(has7);
你不会把数字修改 10 然后寻找 7 吗?
const findByLeastSigFig = (arr, n) => arr.find(x => x % 10 === n);
console.log(findByLeastSigFig([17, 23, 9, 590], 7));
假设 7 仅在最后一个位置有效,您可以使用除法的其余部分乘以 10
const elements = [7, 9, 17, 23, 57, 407, 590];
const result = elements.filter(element => element % 10 === 7)
console.log(result)
这个问题有不止一个正确答案。最简单和最直观的方法之一(不影响性能)是使用Array.prototype.toString()
它连接数组并返回一个字符串,其中包含用逗号分隔的每个数组元素。[17, 23, 9, 590].toString()
返回字符串"17,23,9,590"
,然后使用String.prototype.indexOf()
查找索引 7,如果找不到,则返回 serach 值的从 0 开始的索引或 -1。
用一行总结一下:
console.log([17, 23, 9, 590].toString().indexOf(7) != -1);