Javascript 数组。某些给定类型错误

Javascript 数组。某些给定类型错误,javascript,visual-studio-code,Javascript,Visual Studio Code,这些是VSC写的我的错误 if (array.some(typeof item !== 'number') || !(intNumber)) { ^ TypeError: true is not a function at Array.some (<anonymous>) at addNumber (D:\ИРИТ-РТФ\3 курс\Тинькофф\1 ЛАБА 2 попытка\rtf-lab-1-master\index.js:7:1

这些是VSC写的我的错误

if (array.some(typeof item !== 'number') || !(intNumber)) {
          ^

TypeError: true is not a function
    at Array.some (<anonymous>)
    at addNumber (D:\ИРИТ-РТФ\3 курс\Тинькофф\1 ЛАБА 2 попытка\rtf-lab-1-master\index.js:7:15)
    at Object.<anonymous> (D:\ИРИТ-РТФ\3 курс\Тинькофф\1 ЛАБА 2 попытка\rtf-lab-1-master\index.js:14:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
if(数组.some(项目类型!='number')| |!(intNumber)){
^
TypeError:true不是函数
at Array.some()
地址编号(D:\БППСа-аааааааааааааааааааа1072
在对象处。(D:\БПППцццц-ццц\3цС\1ЛАБА2ПППц\rtf-lab-1-master\index.js:14:13)
at模块编译(内部/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
位于Function.Module.runMain(internal/modules/cjs/loader.js:831:12)
启动时(内部/bootstrap/node.js:283:19)
函数toArray(){
返回[…参数];
}
函数addNumber(数组、数字){

让intNumber=(number>=0&&numbersome
的参数必须是一个函数(|)。您传递的是
typeof item!='number'
,这是
true
,因为任何地方都没有定义
item
typeof
可以使用未声明的标识符)

将函数传递给它:

array.some(item => typeof item !== 'number')
这将使
some
检查每个项目,如果其中任何项目不是数字,则使其返回
true
(从而使
addNumber
返回
null

实例(我不能保证代码没有其他问题,但问题已经解决):

函数toArray(){
返回[…参数];
}
函数addNumber(数组、数字){
设intNumber=(number>=0&&number项目类型!='number')| |!(intNumber)){
返回null;
}
const stringArray=array.map(parseInt)+number;
返回阵列(stringArray);
}
log(addNumber([1,0,9],2));
日志(addNumber([2,5,1,5]);
console.log(addNumber([1],4020));
日志(addNumber([1,'4'],1));
日志(addNumber([1,2,4],1));
控制台日志(addNumber([0],900));
log(addNumber([7,1,7,7,1],1248));
console.log(addNumber([0],0));
日志(addNumber([0,'4'],11));
log(addNumber([null],125));
再次出现错误

函数addNumber(数组,数字){
设intNumber=(number>=0&&number项目类型!='number')| |!(intNumber)){
返回null;
}
const result=array.reduce(函数(和、当前){
返回和+电流;
}, 0);
const stringArray=(parseInt(result)+number).toString();
返回stringArray.Split(“”).map(item=>parseInt(item));
}
log(addNumber([1,0,9],2));
日志(addNumber([2,5,1,5]);
console.log(addNumber([1],4020));
日志(addNumber([1,'4'],1));
日志(addNumber([1,2,4],1));
控制台日志(addNumber([0],900));
log(addNumber([7,1,7,7,1],1248));
console.log(addNumber([0],0));
日志(addNumber([0,'4'],11));

console.log(addNumber([null],125));
array.some((item)=>typeof item!='number')
是的,我无法修复此错误我的任务"您需要实现一个包含两个参数的函数。第一个参数是0到9之间的数字数组。第二个参数是任何正整数。该方法应返回0到9之间的数字数组,该数组是通过将第二个参数添加到由数组元素组成的数字中获得的。如果数组中有如果不是0到9之间的数字,则该方法应返回null。“例如:前四个测试必须为[1,1,1][2,5,6][4,0,2,1]null,但在代码中结论是不正确的。您能帮我找到代码中的问题吗?@Саааа:您可能希望创建一个助手函数,该函数将打开,例如,
[2,5,1]
输入数字
251
。有很多方法可以做到这一点,但我不知道您在课程中已经学习了哪些方法。然后您可以添加结果(如果您尚未遇到非数字错误)返回到第二个参数,并反转将结果拆分回数字数组的过程。@Scott Sauyet检查plsNew问题:返回stringArray.split(“”).map(item=>parseInt(item));是否读取错误消息?
“未捕获类型错误:stringArray.split不是函数"
。这说明在
stringArray
对象上没有函数
Split
属性。由于它是正确的数组,您需要查看您提供的名称。JS区分大小写,因此
Split
Split
是不同的。这将帮助您克服当前的错误,但仍然存在以下问题:它们潜伏着。如果你被其中一个卡住了,请问另一个问题。