Javascript 类型';编号';不可分配给类型';绝不';。使用填充数组?

Javascript 类型';编号';不可分配给类型';绝不';。使用填充数组?,javascript,typescript,Javascript,Typescript,为什么我不能按对象填充数组 类型“number”不可分配给类型“never” 您必须键入要创建的新数组[],如下所示: interface Itype { type: number; name?: string; } function makeEqualArrays(arr1: Itype[], arr2: Itype[]): void { arr2 = arr2.concat([].fill({ type: 2 }, len1 - len2)); }

为什么我不能按对象填充数组

类型“number”不可分配给类型“never”


您必须键入要创建的新数组
[]
,如下所示:

interface Itype { 
    type: number;
    name?: string;
}    

function makeEqualArrays(arr1: Itype[], arr2: Itype[]): void { 
      arr2 = arr2.concat([].fill({ type: 2 }, len1 - len2));
}


您必须键入要创建的新数组
[]
,如下所示:

interface Itype { 
    type: number;
    name?: string;
}    

function makeEqualArrays(arr1: Itype[], arr2: Itype[]): void { 
      arr2 = arr2.concat([].fill({ type: 2 }, len1 - len2));
}


为什么要填充空数组:
console.log([]作为Itype[]).fill({type:1},0))
?所以实际上array.fill并不像您想象的那样工作log((新数组(10)作为Itype[]).fill({type:1}));`它只填充现有数组,不在其中推送新值。看看我的评论中的代码为什么我得到的是空数组而不是填充:
console.log([]作为Itype[]).fill({type:1},0))
?所以实际上array.fill并没有按照您的想法工作log((新数组(10)作为Itype[]).fill({type:1}));`它只填充现有数组,不在其中推送新值。查看我评论中的代码
fill
ing一个空数组总是会给你一个空数组。它也不总是返回空数组:
let a:any[]=[{type:1}];a、 填充({type:1},0,4);控制台日志(a)
a
在上面的示例中不是空的。不,它由一个值填充
让a:any[]=[{type:1}]fill
使用
array.prototype.fill填充空数组无效。没有可变异的数组元素。
fill
ing空数组将始终为您提供空数组。它也不总是返回空数组:
let a:any[]=[{type:1}];a、 填充({type:1},0,4);控制台日志(a)
a
在上面的示例中不是空的。不,它由一个值填充
让a:any[]=[{type:1}]fill
使用
array.prototype.fill填充空数组无效。没有要变异的数组元素。
interface Itype { 
    type: number;
    name?: string;
}    

function makeEqualArrays(arr1: Itype[], arr2: Itype[]): void { 
    arr2 = arr2.concat(([] as Itype[]).fill({
        type: 2,name
    }, 5));
}