Javascript 函数不返回一周中的天数

Javascript 函数不返回一周中的天数,javascript,arrays,date,Javascript,Arrays,Date,我创建了一个函数来代替键入包含一周中的天数的数组。然而,当我记录控制台日志时,我得到了一个具有完全不同值的数组。请告诉我在哪里我的代码需要调整,以获得我期望的输出 const dayNames=Array.from({length:7},(item,i)=>{ 返回新的日期(0,i)。toLocaleString(“en-US”,{days:“long”}); }); console.log(dayNames)这是“工作日”而不是“天” 此外,正如其他人提到的,您没有正确设置月份的日期。要求您

我创建了一个函数来代替键入包含一周中的天数的数组。然而,当我记录控制台日志时,我得到了一个具有完全不同值的数组。请告诉我在哪里我的代码需要调整,以获得我期望的输出

const dayNames=Array.from({length:7},(item,i)=>{
返回新的日期(0,i)。toLocaleString(“en-US”,{days:“long”});
});
console.log(dayNames)这是
“工作日”
而不是
“天”

此外,正如其他人提到的,您没有正确设置月份的日期。要求您输入
,然后是
,然后是
。确保在传递到构造函数的
i
参数之前添加另一个
0

console.logJSON=msg=>console.log(JSON.stringify(msg));
/**
*返回一个数组,其中包含一周中的几天。
*@param{String}locales-指定语言
*@param{Number}startDayOfWeek-星期几偏移量
*@return{String[]}一个数组,包含一周中的几天。
*/
const daysOfWeek=(地区='en US',startDayOfWeek=0)=>
从({length:7},(x,i)=>
新日期(0,0,i+startDayOfWeek)
.toLocaleString(地区,{工作日:});
//================用法=============
console.logJSON(daysOfWeek());//美式英语(默认)
console.logJSON(daysOfWeek('es',1));//西班牙人
.as控制台包装{top:0;最大高度:100%!重要;}
  • days
    更改为
    weekday
  • 在当前更改日期而不是月份的初始化日期(年、月、日)中再添加一个零
  • const dayNames=Array.from({length:7},(item,i)=>{
    返回新的日期(0,0,i).tolocalString(“en-US”,{工作日:“long”});
    });
    
    console.log(dayNames)您增加的是月份而不是天数

    天数是日期构造函数的第三个参数

    此外,您正在寻找的选项是
    工作日
    ,而不是

    const dayNames=Array.from({length:7},(item,i)=>{
    返回新日期(0,0,i).toLocaleString(“en-US”,{weekday:'long'})
    });
    
    console.log(dayNames)//[“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”]
    那么您确定的日期是1900年?您正在设置月份,而不是一周中的几天
    新日期(年,月[,日[,小时[,分钟[,秒[,毫秒])
    @johnymapp您是对的。值得注意的是,这是有效的,因为0年被视为1900年,在我为0的第一次迭代中,
    新日期(1900,0,0)
    生成1899年12月31日的日期,正好是星期天。因此,是的,它“起作用”,但可能是出于偶然,而不是设计