Javascript 如何创建反向数组函数?

Javascript 如何创建反向数组函数?,javascript,arrays,Javascript,Arrays,我正在尝试编写一个函数reversearlay(),该函数接受数组作为参数,并返回一个新数组,其中元素的顺序相反(,而不使用内置方法) 有人能帮我看看我做错了什么吗?当我运行下面的代码时,它返回1 const reversearlay=array=>{ 设newArray=[]; for(设i=array.length-1;i>=0;i--){ 返回newArray.push(array[i])} }; 常量数组=['sense.','make','all','will','This']; c

我正在尝试编写一个函数reversearlay(),该函数接受数组作为参数,并返回一个新数组,其中元素的顺序相反(,而不使用内置方法)

有人能帮我看看我做错了什么吗?当我运行下面的代码时,它返回1

const reversearlay=array=>{
设newArray=[];
for(设i=array.length-1;i>=0;i--){
返回newArray.push(array[i])}
};
常量数组=['sense.','make','all','will','This'];

console.log(reversearlay(数组))
您将在循环的第一个实例上返回
Array.push()
的结果。根据MDN,
Array.push()
返回:

方法所基于的对象的新长度属性 打电话来

它将一个元素推送到数组中,并返回数组的长度(1)

相反,将所有元素添加到for循环中的数组中,然后返回数组本身:

const reverseArray=arr=>{
让newArr=[]
对于(设i=arr.length-1;i>=0;i--){
新到达推送(到达[i])
}
返回纽瓦尔
}
const arr=['sense.','make','all','will','This']

log(reversearlay(arr))
您不应该从循环中的函数返回。这就是当你想要返回最终结果时要做的。如果你在编写代码时使用适当的缩进,可能会更容易发现问题。仅供参考,
push()。如果这是一项作业,您应该确保允许您使用
push()
。如果没有,那么就没有理由不使用内置函数来任意限制自己。Push实际上返回新数组的
长度。这就是你的代码不起作用的原因。