我有一个csv值,需要检查数组单元中的csv值是否可用。
为什么我在这两种情况下都是真的?
let arr = [16]
let check = _.includes('14,15,16,17,18,19', arr)
console.log(check);
arr = [6]
check = _.includes('14,15,16,17,18,19', arr)
console.log(check);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
_includes
的签名是
_.includes(collection, value, [fromIndex=0])
如果collection
是一个字符串,它在这里:
如果集合是字符串,则检查值为的子字符串
当被强制为字符串时,您传递的两个值[16]
和[6]
都作为子字符串存在。('16'
和'6'
(
听起来你可能想先把字符串变成一个数字数组,然后只检查一个值,而不是一个数组。例如:
const inputString = '14,15,16,17,18,19';
const arrOfNumbers = JSON.parse(`[${inputString}]`);
console.log(arrOfNumbers.includes(16));
console.log(arrOfNumbers.includes(6));