我想知道是否有办法在 JavaScript 中做到这一点:
# Lenguaje Python
arr = [1,2,3,4,5,6,7,8,9,0]
for i in arr[::-1]: # ej: imprimir lista de forma invertida/al revés
print(i)
JavaScript中是否存在语法array[::]
,是否可以以类似的方式或仅在一种方法下实现?
感谢答案,但我不只是在寻找一种反转数组顺序的方法,这是可以在语法中完成的一个示例array[::]
,还有其他类似array[:-1]
的方法将迭代除最后一个之外的所有内容,array[:3]
这将仅迭代前 3 个元素等。
我也接受 jQuery 的解决方案
Javascript 没有用于 for 循环的糖语法。该方法存在
.forEach()
,但它总是会以递增的方向遍历数组。同样,您必须for(let i of array) {...}
遍历可迭代对象(这将最接近您要查找的内容,但您无法反转它)如果您不介意销毁阵列,可以执行以下操作:
第三种选择是向 Array 添加一个新方法,它等效于 .forEach() 但相反:
通常,您必须使用普通的 for循环来遍历数组或其中的一部分:
尽管有很多方法可以使用它们:forEach、reduce、map、some、every、filter ...
在 javascript 中,您可以使用
reverse()
. 它颠倒了元素的顺序。我认为您正在寻找的是
slice ()
. 以新数组对象的形式返回数组中的选定元素。该方法
slice ()
选择从给定的开始参数开始,并在给定的结束参数结束但不包括的元素。前任:
如果您想要反向打印数据,我将代码留给您作为解释,以便理解语法:
为此,您只需使用length命令获取数组的长度,然后从中减去 1(数组从位置 0 开始,这就是为什么我们减去 1 以获得最后一个元素的位置)
说明:您将数组从一个位置迭代
s
到一个位置f
(包括)并排除一个元素数组,即 ,exclude
以及要执行的函数,即func
。你像这样使用它,我想打印一个数组
["A", "B", "C", "D", "E"]
,从索引0
到索引3
,并跳过B
位于索引处的2
。这应该告诉我:
A C D
,并检查它是否有效:没有语法
array[::]
,更不用说array[:-1]
orarray[:3]
。实现类似功能的唯一方法是通过过滤器方法和forEach本身。
两种方法在它们的回调中都有相同的参数:
currentValue
,index
和array
(有关它们的更多信息,请阅读文档)。两者的不同之处在于,只要满足其真实条件,过滤器方法就会创建一个新数组。虽然无论是真还是假,forEach 都会按照您的要求执行,而且它会覆盖数组。
我给你留下一些我告诉你的例子。请注意,有一个过滤器针对当前元素执行此操作,而另一个过滤器针对索引(数组的特定位置)执行此操作。
您可以在 javascript 中使用 reverse() 方法,它会将它们倒序排列
arr = [1,2,3,4,5,6,7,8,9,0];
arr.reverse();