我得到了二十个 youtube id,我想得到第一个和第二个 id。
20个数据如下:
/watch?v=2ZBaOvX6ktU,/watch?v=7bj15kbLOZU,/watch?v=UYh1yxSi2UA,/watch?v=72qeHHapFF8,/watch?v=vkmvqhArZ8M,/watch?v=adadLSFLAd4,/watch?v=MkOYvjq50c8,/watch?v=h8gcqI0s9hM,/watch?v=g_olO2htTi0,/watch?v=vaWSeYdGqjM,/watch?v=ZDak5qhlLoU,/watch?v=68Uo_yn_ssc,/watch?v=sIaoXv69IJA,/watch?v=asiDjf546W8,/watch?v=bfxikjXaki4,/watch?v=wRvG6ZjFD28,/watch?v=0Kj3XhLqAQM,/watch?v=nN42e8AM4R4,/watch?v=ST0EZqRdQKI
但是当我尝试拆分字符串并将其放入数组中时,它显示 TypeError: undefined is not a constructo
我不知道为什么任何建议都会受到赞赏。
这是我的代码:
var youtubeId = [];
youtubeId[idCount] = this.evaluate(getYoutubeId);
console.log(youtubeId[idCount]);// 20 data
var sourceId = youtubeId[idCount];
var id = [];
id = sourceId.split(",");// this code show error
console.log('\n' + id + '\n');
最佳答案
如果 20 个 youtube id 在单行中,并且您想打印 2 个 youtube id,那么下面的代码应该适合您。
在这里,我首先用逗号分割你的整个字符串,所以我得到 19 个字符串,然后我再次用等号(=)分割,所以我得到两个部分,其中第二个是你的 id。
这将打印 ID,例如 2ZBaOvX6ktU,然后在下一行中它将打印 7bj15kbLOZU。
var string = "/watch?v=2ZBaOvX6ktU,/watch?v=7bj15kbLOZU,/watch?v=UYh1yxSi2UA,/watch?v=72qeHHapFF8,/watch?v=vkmvqhArZ8M,/watch?v=adadLSFLAd4,/watch?v=MkOYvjq50c8,/watch?v=h8gcqI0s9hM,/watch?v=g_olO2htTi0,/watch?v=vaWSeYdGqjM,/watch?v=ZDak5qhlLoU,/watch?v=68Uo_yn_ssc,/watch?v=sIaoXv69IJA,/watch?v=asiDjf546W8,/watch?v=bfxikjXaki4,/watch?v=wRvG6ZjFD28,/watch?v=0Kj3XhLqAQM,/watch?v=nN42e8AM4R4,/watch?v=ST0EZqRdQKI";
var arr = string.split(/[\s,]+/);
console.log(arr[0].split("=")[1]);
console.log(arr[1].split("=")[1]);
如果你想打印“/watch?v=2ZBaOvX6ktU”那么你可以写console.log(arr[i]);
关于javascript - 在这种情况下热衷于将字符串拆分为数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45504079/