这里我有一个月对象在这个月对象中,值1,2,3,4,5
内,所选经验值是04
(请参见控制台),因此想查找值,因此我将两者进行比较,但由于{{ 1}}如何匹配它们?
4 and 04 not matched
答案 0 :(得分:3)
如何将其转换为int
?
console.log(months.find(month => month.value === parseInt(selectedExperience.from.split('/')[0])));
答案 1 :(得分:2)
您可以使用parseInt
month.value === parseInt(selectedExperience.from.split('/')[0])
console.log(parseInt('04') === 4)
答案 2 :(得分:2)
使用Number,以便比较数字而不是字符串:
Number(month.value) === Number(selectedExperience.from.split('/')[0])
答案 3 :(得分:2)
尝试使用“ +”运算符将字符串转换为数字:
var test = "04";
console.log(test); //04
console.log(+test); //4
console.log(months.find(month => month.value === +selectedExperience.from.split('/')[0]));
答案 4 :(得分:1)
假设04
是一个字符串,在比较之前执行parseInt
或将其转换为数字,否则使用一元运算符
console.log(selectedExperience.from.split('/')[0])) // 04
let exp = parseInt(selectedExperience.from.split('/')[0],10)
console.log(months) // [ { value : 1, name: "one"}
// { value: 2, name: "two" }
// { value: 4, name: "four" }]
console.log(months.find(month => month.value ===exp ))
答案 5 :(得分:1)
.split()将返回一个字符串数组。因此,要与整数进行比较,您需要使用parseInt进行解析。
var test = "04/12";
var months = [{
value: 1,
name: "one"
},
{
value: 2,
name: "two"
},
{
value: 4,
name: "four"
}
];
console.log(test.split('/')[0]);
console.log(months);
console.log(months.find(month => month.value === parseInt(test.split('/')[0])));