如何解决在数组中查找数字两位数
我尝试在数组中找到数字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,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,7));
,
假设7仅在最后一个位置有效,则可以使用除以10的其余部分
const elements = [7,17,57,407,590];
const result = elements.filter(element => element % 10 === 7)
console.log(result)
,
这个问题有多个正确答案。一种最简单,最直观的方法(不影响性能)是使用Array.prototype.toString()
,它连接数组并返回一个字符串,其中包含每个用逗号分隔的数组元素。 [17,590].toString()
返回字符串"17,590"
,然后使用String.prototype.indexOf()
查找索引为7的索引,该索引返回从0开始的Serach值索引,如果未找到则返回-1。
总结起来:
console.log([17,590].toString().indexOf(7) != -1);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。