Javascript更改数组';s指令

Javascript更改数组';s指令,javascript,arrays,Javascript,Arrays,我正在尝试按以下顺序更改数组: 因此,我有以下数组: const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su']按顺序包含一周中的几天,然后我得到一个变量 const firstWeekday=Object.values(formattedReadsByDay)[0].dayOfWeek将返回一周中的某一天,比如说,对于该案例,我们使用We 因此,当返回时,我们希望将数组更改为: weekDaysArray=['We','Th','Fr','

我正在尝试按以下顺序更改数组:

因此,我有以下数组:

const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su']按顺序包含一周中的几天,然后我得到一个变量

const firstWeekday=Object.values(formattedReadsByDay)[0].dayOfWeek
将返回一周中的某一天,比如说,对于该案例,我们使用
We

因此,当返回
时,我们
希望将数组更改为:

weekDaysArray=['We','Th','Fr','Sa','Su','Mo','Tu']


我尝试了
weekDaysArray[…weekDays.slice(-1),…weekDays.slice(0,-1)]
这个方法,但不起作用。有什么想法吗?

您可以使用
weekDaysArray.push(weekDaysArray.shift())
这将把数组的第一项移到末尾。 像这样
[1,2,3]->[2,3,1]

然后您需要检查是否
weekDaysArray[0]==您的日期
,您将返回数组。如果否,请再次执行相同的操作。

您可以使用
weekDaysArray.push(weekDaysArray.shift())
这将把数组的第一项移到末尾。 像这样
[1,2,3]->[2,3,1]
然后您需要检查是否
weekDaysArray[0]==您的日期
,您将返回数组。如果否,请再次执行相同的操作。

以下内容的实现:

函数getOrderedWeek(第一个工作日){
const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su'];
for(设i=0;i
可以是以下内容的实现:

函数getOrderedWeek(第一个工作日){
const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su'];
for(设i=0;i
您需要:

  • 查找第一天的索引
  • 获取从第一天(含第一天)到最后的数组部分。这是本周的新开始
  • 从开始到第一天获取阵列的部分(独占)。这是本周新的结束部分
  • 把这两部分连接起来
  • 这可以通过以下方式实现:

    const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su'];
    const firstWeekday=“我们”;
    //1. 查找索引
    const index=weekDaysArray.indexOf(firstWeekday);
    //2. 开始新的一周
    const startWeek=weekDaysArray.slice(索引);
    //3. 周末休息
    const endWeek=weekDaysArray.slice(0,索引);
    //4. 结合新的一周
    const result=[…startWeek,…endWeek];
    控制台日志(结果)您需要:

  • 查找第一天的索引
  • 获取从第一天(含第一天)到最后的数组部分。这是本周的新开始
  • 从开始到第一天获取阵列的部分(独占)。这是本周新的结束部分
  • 把这两部分连接起来
  • 这可以通过以下方式实现:

    const weekDaysArray=['Mo','Tu','We','Th','Fr','Sa','Su'];
    const firstWeekday=“我们”;
    //1. 查找索引
    const index=weekDaysArray.indexOf(firstWeekday);
    //2. 开始新的一周
    const startWeek=weekDaysArray.slice(索引);
    //3. 周末休息
    const endWeek=weekDaysArray.slice(0,索引);
    //4. 结合新的一周
    const result=[…startWeek,…endWeek];
    
    控制台日志(结果)您的代码中有输入错误吗?我没有看到定义了
    工作日
    变量的地方。应该是
    weekDaysArray
    ?不。你可以忽略这些,这只是我切片的一个例子。我关心的两个变量是firstWeekDay和weekDaysArrayOk,在这种情况下,您应该提供一个更准确的代码示例,以及可能的结果:这是js错误吗?数组的长度是否错误?数组的长度是否正确,但顺序是否错误?…
    […weekDays.slice(2),…weekDays.slice(0,2)]
    您的代码中是否有输入错误?我没有看到定义了
    工作日
    变量的地方。应该是
    weekDaysArray
    ?不。你可以忽略这些,这只是我切片的一个例子。我关心的两个变量是firstWeekDay和weekDaysArrayOk,在这种情况下,您应该提供一个更准确的代码示例,以及可能的结果:这是js错误吗?数组的长度是否错误?数组的长度是否正确,但顺序是否错误?…
    […weekDays.slice(2),…weekDays.slice(0,2)]
    谢谢您的回复。谢谢您的回复。谢谢。这件非常干净,谢谢。这个超干净。