Javascript 如何在数组中正确迭代并显示实际数组
这在我心中是一个很长时间的问题。如果我迭代一个数组,然后放入Javascript 如何在数组中正确迭代并显示实际数组,javascript,arrays,Javascript,Arrays,这在我心中是一个很长时间的问题。如果我迭代一个数组,然后放入返回数组[I],默认情况下它将只显示第一个元素 迭代数组、显示其所有元素/项的更好方法是什么 下面我正在处理跳过数组[n]并显示除第n个之外的整个数组的函数 function getAllElementsButNth(array, n) { for (var i=0; i < array.length; i++) { // array.splice(0, array[n]); // return array;
返回数组[I]
,默认情况下它将只显示第一个元素
迭代数组、显示其所有元素/项的更好方法是什么
下面我正在处理跳过数组[n]并显示除第n个之外的整个数组的函数
function getAllElementsButNth(array, n) {
for (var i=0; i < array.length; i++) {
// array.splice(0, array[n]);
// return array;
if (i === n) {
continue;
}
return array[i];
}
}
var output = getAllElementsButNth(['a', 'b', 'c'], 1);
console.log(output); // --> ['a', 'c']
函数getAllegementsButnth(数组,n){
对于(var i=0;iconsole.log
只会用新行显示它们。我指的是显示实际阵列本身。我在这里使用return,它只允许我显示'a'
有什么帮助吗?您根本不需要遍历数组,也不需要为此设置函数。您只需执行以下操作:
var输出=array.splice(索引,1)
array.splice
方法有两个参数:第一个是要删除元素的索引,第二个是要删除的元素数,在您的示例中为-1
输出
将保存已删除元素的值,而初始数组将被拼接并包含除索引
处的元素外的所有原始元素
函数getAllegementsButnth(arr,p){
如果(p-1过滤器
var-arr=[1,2,3,4,5,6,7,8];
var指数=5;
var r=arr.filter((el,i)=>i!==索引);
console.log(r)
您可能需要使用数组.filter
:
简洁易读。同样,逻辑上也适用于该问题
但是,它可能不是最有效的解决方案,因为它迭代整个数组
因此,另一种可能的(更有效的)使用es6的方法(因为已经有其他使用slice的解决方案):
您正在返回元素,因此它只记录“a”是公平的。返回array.slice,或者定义一个新数组并将元素推送到其中。另一种可能是使用array.filter当函数到达返回数组[i]
时,它将结束。因此,结果将是不等于n
的第一个元素。
function getAllElementsButNth(array, n) {
return array.filter(function(e, i) {
return i !== n;
});
}
var output = getAllElementsButNth(['a', 'b', 'c'], 1);
console.log(output); // --> ['a', 'c']
function getAllElementsButNth(array, n) {
return new Array(...array.slice(0, n), ...array.slice(n+1, array.length));
}