我得到二十个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');
答案 0 :(得分:2)
如果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]);
答案 1 :(得分:0)
如果20个youtube id在一个字符串中,您可以按如下方式获得前两个ID。
var str = //your 20 ids string here
var res = str.split(",");
alert("first",res[0]);
alert("second",res[1]);