2017-08-04 69 views
0

我得到二十个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

this.evaluate(getYoutubeId)返回一个字符串? – marvel308

+1

@ marvel308看起来像返回一个数组 – Adriani6

+1

id = sourceId.split(“,”);将不会工作,如果它是一个阵列 – marvel308

回答

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]); 

如果你要打印,那么你可以写的console.log(ARR [1]) “/手表V = 2ZBaOvX6ktU?”;

+0

非常感谢你,它现在起作用!我仍然试图了解你的代码,即正则表达式对我来说很难。另外,我发现我的错误有什么问题,我应该像这样改变代码'var sourceId =“'”+ youtubeId [idCount] +“'”;'然后修复错误。 –

+1

在这里,我首先用逗号分隔你的整个字符串,所以我得到19个字符串,然后我再次被等号(=)分割,所以我得到了第二个是你的id的两个部分。 – TechnoCrat

+0

我明白了!谢谢TechnoCrat。 –

0

如果20个YouTube的ID在一个字符串就可以拿到第一两个ID如下。

var str = //your 20 ids string here 
var res = str.split(","); 
alert("first",res[0]); 
alert("second",res[1]); 
+0

嘿谢谢你的帮助,我从TechnoCrat得到答案。 –

相关问题