我创建了一个基于填充了单词
的网格的游戏在我的代码中,我有一小部分下划线.js可以帮助我的文字适应网格中可用的空间而不会破坏网格障碍。
我知道它是非常强大的java脚本,并且个人没有问题。但我的团队经理想要摆脱一些jQuery,它将提供相同的解决方案,因为只有一个功能,并将节省我有一个完整的库。我如何用一些jQuery替换它?
function getWordToFitIn(spaceAvail, wordlist) {
var foundIndex = -1;
var answer = _.find(wordlist, function (word, index) {
if (word.length <= spaceAvail) {
foundIndex = index;
return true;
}
});
if (foundIndex == -1) {
answer = getXSpaces(spaceAvail);
_.find(wordlist, function (word, index) {
if (word[0] == " ") {
foundIndex = index;
return true;
}
});
}
if (foundIndex != -1) {
wordlist.splice(foundIndex, 1);
}
return answer;
}
答案 0 :(得分:2)
据我所知,您使用的唯一下划线方法是_.find
。但我认为你并没有像预期的那样使用它。看起来你只是循环并在满足条件时返回true。
如果您没有旧版支持或使用垫片,则可以使用本机forEach
。或者您可以使用jQuery.each
方法。
第一个循环可能可能(我不是100%确定answer
变量)是这样写的:
var answer;
$.each(wordlist, function(index, word) {
if (word.length <= spaceAvail) {
foundIndex = index;
answer = word;
return false; // stops the loop
}
});
第二个:
$.each(wordlist, function (index, word) {
if (word[0] == " ") {
foundIndex = index;
return false;
}
});