Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回字符串而不是数字_Javascript_Arrays_For Loop - Fatal编程技术网

Javascript 返回字符串而不是数字

Javascript 返回字符串而不是数字,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我正在尝试编写一个函数(onlyOddNumbers),该函数接受一个数字数组并返回一个只包含奇数的新数组,它工作正常,但问题是我在新数组中获取字符串而不是数字,为什么会发生这种情况? 使用for代替in,然后将num转换为字符串 const filter=函数(数字){ 让oddNumbersOnly=[] for(让数字的个数){ 如果(编号%2!==0){ oddNumbersOnly.push(number.toString()) } } 仅返回ODDnumbers; }; 常数ar

我正在尝试编写一个函数(onlyOddNumbers),该函数接受一个数字数组并返回一个只包含奇数的新数组,它工作正常,但问题是我在新数组中获取字符串而不是数字,为什么会发生这种情况?


使用for代替in,然后将num转换为字符串

const filter=函数(数字){
让oddNumbersOnly=[]
for(让数字的个数){
如果(编号%2!==0){
oddNumbersOnly.push(number.toString())
}
}
仅返回ODDnumbers;
};
常数arr=[1,2,3,4,5,6];
常数结果=滤波器(arr)
console.log(结果)
let num=[0,1,2,3,4,5,6];
让oddNumbersOnly=num.filter(numb=>numb%2!==0);

console.log(仅限ODDnumbers)
似乎,@AlaaKhalila想要得到数字:“……问题是我在新数组中得到的是字符串而不是数字”。问题解决了,我只是用了(for of)而不是(for in)可能只使用这个
oddNumbersOnly。按(+number)
let oddNumbersOnly=[]
const filter = function (numbers) {
  for (number in numbers){
    if(number %2 !==0){
      oddNumbersOnly.push(number)
    }
  } return oddNumbersOnly;
};