gpt4 book ai didi

javascript - 返回一个数组的函数,该数组在特定索引处具有特定顺序的数字

转载 作者:行者123 更新时间:2023-11-30 19:49:50 25 4
gpt4 key购买 nike

我有一个 [0,1,2,3,4,5,6,7,8,9] 的数组。我目前正在使用 Javascript 语言。

然后我想将它缩减为一个新数组,其本身的数字为 7,索引为 4,而数组中的其余数字在该索引后从小到大排序。

此任务的挑战性方面之一是让 7 以下的数字在索引 4 之前对其进行排序。

它必须位于索引 4 处。它不能位于其他索引处。放置在索引 4 处的目标数字可以是我上面写的数组中的任何数字。

例子:

当我想在索引 4 处获取数字 7 时要返回的数组:

[3,4,5,6,7,8,9,0,1,2]

当我想在索引 4 处获取数字 9 时要返回的数组:

[5,6,7,8,9,0,1,2,3,4]

到目前为止我最好的尝试:

  let state = 7;

[0,1,2,3,4,5,6,7,8,9].reduce((acc,cur)=>{
let lastInd = state+5;
let firstInd = state-4 <0 ? 10+(state-4): state-4;

return acc
},[])

可以选择对此进行硬编码以获得答案(这是硬编码解决方案):

let state = 7
let order = [
[0,1,2,3,4,5,6,7,8,9],
[1,2,3,4,5,6,7,8,9,0],
[2,3,4,5,6,7,8,9,0,1],
[3,4,5,6,7,8,9,0,1,2],
[4,5,6,7,8,9,0,1,2,3],
[5,6,7,8,9,0,1,2,3,4],
[6,7,8,9,0,1,2,3,4,5],
[7,8,9,0,1,2,3,4,5,6],
[8,9,0,1,2,3,4,5,6,7],
[9,0,1,2,3,4,5,6,7,8]
];
let stateArray = order.find((e)=>{
return e.indexOf(state) === 4;
});

我只是认为这将是一个很好的时间 killer ,也是一个有趣且具有挑战性的问题,需要尝试解决。我不急于解决这个问题,因为我为我的项目实现了硬编码代码,但我一直想知道这个问题的答案是什么,我认为有人可能想要解决这个问题。

Java 或 JS 语言的解决方案对我来说是最佳选择。我没有学过任何其他语言,但如果它可以轻松地“翻译”成 JS,我不介意。

最佳答案

这可以使用 slice 和 concat 来完成:

const a=[0,1,2,3,4,5,6,7,8,9]
const f=(x)=>
{
const b=a.slice(x-4)
const c=a.slice(0,x-4)
return( b.concat(c))}

所以如果你调用 f(7) 你会得到:

[3,4,5,6,7,8,9,0,1,2]

关于javascript - 返回一个数组的函数,该数组在特定索引处具有特定顺序的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54587349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com