我有这个活动
<textarea id="chat"> </textarea>
<button type="button" onclick="play_song();">talk</button>
...触发以下内容function
:
var input = function() {
var chat = document.getElementById("chat").value.split(" ");
return chat && console.log(chat);
}
然后是这样的function
:
function setIntersection(a, b) {
var result = [];
for (var i = 0; i < a.length; i++) {
if (b.indexOf(a[i]) !== -1 && result.indexOf(a[i]) === -1) {
result.push(a[i]);
}
}
return result;
}
一prototype function
:
Song.prototype.lyricsIntersect = function(input) {
var bestSong = null;
var bestCount = -Infinity;
for (var i in songs) {
var currentCount = setIntersection(songs[i].lyrics, input).length;
if (currentCount > bestCount) {
bestSong = songs[i];
bestCount = currentCount;
}
}
return bestSong && bestSong.name;
}
代码在这里结束:
function play_song() {
var id = Song.prototype.lyricsIntersect(input);
var element = document.getElementById(id);
element.play();
}
但console.log
返回:Uncaught TypeError: b.indexOf is not a function
var input = ["one", "two"];
但是,如果我进行测试,则可以根据来完成代码的交集input
。
我想念什么?
var currentCount = setIntersection(songs[i].lyrics, input).length;
应该
var currentCount = setIntersection(songs[i].lyrics, input()).length;
这也依赖于以下输入被更正
var input = function() {
var chat = document.getElementById("chat").value.split(" ");
return chat;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句