TypeError:减少没有初始值的空数组
消息
TypeError:减少没有初始值的空数组(基于V8和Firefox&Safari)
错误类型
出了什么问题?
-
Array.prototype.reduce() , Array.prototype.reduceRight() 和 -
TypedArray.prototype.reduce() , TypedArray.prototype.reduceRight() ).
示例
无效案例
常数整数=[0,-1,-2,-3,-4,-5]; 整数 .filter((x)=>x>0)//删除所有元素 .减少((x,y)=>x+y);// 没有其他元素可用于初始值。
const names=document.getElementsByClassName(“名称”); const name_list=数组原型.reduce.call( 姓名, (acc,name)=>acc+“,”+名称, );
有效案例
常数整数=[0,-1,-2,-3,-4,-5]; 整数 .filter((x)=>x>0)//删除所有元素 .减少((x,y)=>x+y,0);// 初始值是加法的中性元素
const names=document.getElementsByClassName(“名称”); let nameList1=“”; if(names.length>=1){ nameList1=数组原型.reduce.call( 姓名, (acc,name)=>`${acc},${name}`, ); } //名称为空时,nameList1===“”。 const nameList2=数组原型.reduce.call( 姓名, (acc,name)=>{ 如果(acc===“”) //初始值 返回名称; 返回`${acc},${name}`; }, "", ); //名称为空时,nameList2===“”。