带值的Javascript数组
下面的代码是一个javascript面试问题。我应该得到输出为[5,1,2,3,4]。任何人都可以帮我解决这个问题带值的Javascript数组,javascript,arrays,conditional-statements,output,Javascript,Arrays,Conditional Statements,Output,下面的代码是一个javascript面试问题。我应该得到输出为[5,1,2,3,4]。任何人都可以帮我解决这个问题 const input = [1,2,3,4,5] const n = 4; var output = [] console.log(output) 根据我的理解,问题是当'n'是给定的索引时,您应该能够从数组的索引n中删除元素,并将其插入到数组的最开始处。由于数组是基于0的,这意味着如果n=4,则根据给定数组,第n个索引处的元素是5 为此,您可以执行以下操作: 在第n个
const input = [1,2,3,4,5]
const n = 4;
var output = []
console.log(output)
根据我的理解,问题是当'n'是给定的索引时,您应该能够从数组的索引n中删除元素,并将其插入到数组的最开始处。由于数组是基于0的,这意味着如果n=4,则根据给定数组,第n个索引处的元素是5 为此,您可以执行以下操作:
const输入=[1,2,3,4,5]
常数n=4;
常数[el]=输入拼接(n,1)//数组分解
输入。取消移位(el);
常量输出=输入;
console.log(输出)
const输入=[1,2,3,4,5]
常数n=4
输入拼接(0,0,输入[n])
输入拼接(n+1,1)
变量输出=[…输入]
console.log(输出)
,无需修改输入数组:
const输入=[1,2,3,4,5]
常数n=4;
变量输出=[]
output=[input[n],input.slice(0,n)].flat()
console.log(输出)
输出结果背后的逻辑是什么?您应该如何使用n
和input
来获得结果?output=[5,1,2,3,4]
-好了。对于任何更具动态性的问题,我们需要知道实际需求是什么,以及在实现它时您遇到了什么困难。我们必须找到使用变量4将输出转换为5,1,2,3,4的逻辑奇怪的采访问题,也许他们希望您将数组向后移动n
次:[1,2,3,4,4,5]->[2,3,4,5,1]->[3,4,5,1,2]->[4,5,1,2,3]->[5,1,2,3,4]
,但他们至少应该给您更多的输入/outputs@Mohamedfaruk为什么不“移动最后一个元素n
positions back”?也可能是这样。但将最后一个元素n位置向后移动意味着将所有其他元素也向前移动,这就是为什么我不认为这是面试问题的明显选择。然而,如果面试官想知道OP是否知道如何使用数组和数组原型函数,那么我的解决方案的问题将是一个好问题。我不同意。面试的问题很糟糕,问这个问题的人都应该感到羞耻。这里的问题从广义上讲也是不好的,因为我们不知道它要求我们做什么。这是不清楚和无法回答的。未来的游客将如何从中受益?他们在谷歌上搜索“如何使用数组做一些事情”,不知何故来到了这里,不知何故他们设法找到了他们需要做的任何事情?这个问题不清楚,没有任何指导,无法得出正确答案,也无法衡量正确答案是什么。这是一个可怕的问题,在面试时,你要尽可能清楚,不要给那些已经承受了很大压力的候选人施加太大的压力。面试官使用这些问题可能会让应聘者犯错误,这与面试的内容恰恰相反。这使他们成为一个糟糕的面试官。更糟糕的是,如果它实际上是作为“压力访谈”的一部分故意的话。“问这个问题的人”是对OP进行采访并提出这个问题的人(至少我认为OP在采访中看到了这个问题)。你没有使用n
。