学习基础——在Javascript中提取扩展

学习基础——在Javascript中提取扩展,javascript,for-loop,Javascript,For Loop,正在进行一项Edabit挑战,遇到了一个经常让我困惑的情况。仍在学习基础知识,因此如果我的术语不正确或不清楚,我深表歉意 面临的挑战是将具有扩展名的文件名数组与其扩展名分开。我使用toString和split方法跨两行将所有测试分离到分别包含文件名和扩展名的数组中。第一个文件名为位置0,第一个扩展名为1 因此,从这里开始,我认为使用从位置1开始的for循环,并每隔一个值(I+=2)递增一次就可以了。只是不确定此时如何返回值。我可以在这里对索引进行console.log,它会打印出我想要的内容,但

正在进行一项Edabit挑战,遇到了一个经常让我困惑的情况。仍在学习基础知识,因此如果我的术语不正确或不清楚,我深表歉意

面临的挑战是将具有扩展名的文件名数组与其扩展名分开。我使用toString和split方法跨两行将所有测试分离到分别包含文件名和扩展名的数组中。第一个文件名为位置0,第一个扩展名为1


因此,从这里开始,我认为使用从位置1开始的for循环,并每隔一个值(I+=2)递增一次就可以了。只是不确定此时如何返回值。我可以在这里对索引进行console.log,它会打印出我想要的内容,但如果我说return index,它只会返回第一项,如果我创建一个新数组并使用push方法,它只会返回一组数字。不确定该做什么,或者这是否是正确的做法

ref的代码这是在将原始测试拆分为仅包含文件名和扩展名作为单独项的数组之后生成的

for(let i = 1; i < stringPeriod.length; i+=2){
        console.log(stringPeriod[i])
        }
for(设i=1;i

这将打印扩展名,但不会作为单个数组分开,我需要它来通过挑战。

这就是您要找的吗?你需要一个只有扩展名的数组吗

你可以用一个新的数组来完成它(我感觉它对你不起作用,因为你可能只是把“我”推到了新数组中)

var newArray=[];
对于(设i=1;i
您可以使用
i+1
访问数组中的下一项,因此
返回[stringPeriod[i],stringPeriod[i+1]
如果要为每个项返回数组,其中
arr[0]
是文件名,
arr[1]
是扩展名。“我可以在这一点上对索引进行console.log,它会打印出我想要的内容,但是,如果我说return index,它只会返回第一项”-你是什么意思?当你使用控制台日志运行循环时,你可以看到完全正确的内容?你应该已经准备好了,你说的“如果我说return index”是什么意思-你是怎么做到的(因为循环中的任何返回语句都将结束循环)?ok my bad。因此,如果在for循环之前我console.log变量stringPeriod,则它是
['project1','jpg','project1','pdf','project1','mp3']
但在上述for循环之后,just stringperiod的控制台日志重复了3次,但如果我控制台日志stringperiod[i]我会得到“jpg pdf mp3”,这是我想要的,但它们不在数组中,也不在通过质询@Kyle@Matt U所需的引号中
var newArray = [];
for(let i = 1; i < stringPeriod.length; i+=2){
    newArray.push(stringPeriod[i]);
}
console.log(newArray);