javascript - 代码返回未定义而不是结果
问题描述
我想要某种形式从用户给出的某个输入中返回有多少大于 10 的数字。这需要与另一个运行另一个函数的页面在同一页面中运行。
第二个函数“mare”返回未定义,而第一个函数可以正常工作。是否应该有办法将输入存储在一个数组中,然后将函数传递给它?
我是新手,所以欢迎任何其他建议或提示和技巧。
$(document).ready(function() {
var val = '';
var contor = 0;
function multiplu(j) {
return j % 3 == 0 || j % 7 == 0;
}
function mare(input) {
for (var i = 0; i < input.length; i++) {
if (input[i] > 10) {
return contor++;
};
}
};
$('#newItem').keyup(function(e) {
if (e.which == 13) {
e.preventDefault();
$('#unu').append('<li>' + this.value + ': ' +
multiplu(this.value) + "</li>");
}
});
$('#newItem2').keyup(function(e) {
if (e.which == 13) {
e.preventDefault();
$('#doi').append('<li> din sirul ' + this.value + 'sunt: ' +
mare(this.value) + " mai mari ca 10 </li>");
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="newItem">
<input type="text" id="newItem2">
<div id="prnt">
<ul id="unu">
<li>potato</li>
</ul>
</div>
<div id="prnt">
<ul id="doi">
<li>potato</li>
</ul>
</div>
解决方案
正如我在评论中提到的,您应该定义分隔符(我将其定义为,
)。然后在回车键上,你应该用这个分隔符分割你的输入字符串,然后遍历这个数组并检查哪些数字大于 10。这里有一个例子:
var val = '';
function multiplu(j) {
return j % 3 == 0 || j % 7 == 0;
}
function mare(input) {
var contor = 0;
const splitted = input.split(',');
splitted.forEach(function(value) {
if (+value > 10) {
++contor;
}
});
return contor;
};
$('#newItem').keyup(function(e) {
if (e.which == 13) {
e.preventDefault();
$('#unu').append('<li>' + this.value + ': ' +
multiplu(this.value) + "</li>");
}
});
$('#newItem2').keyup(function(e) {
if (e.which == 13) {
e.preventDefault();
$('#doi').append('<li> din sirul ' + this.value + ' sunt: ' +
mare($(this).val()) + " mai mari ca 10 </li>");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="newItem">
<input type="text" id="newItem2">
<div id="prnt">
<ul id="unu">
<li>potato</li>
</ul>
</div>
<div id="prnt">
<ul id="doi">
<li>potato</li>
</ul>
</div>
推荐阅读
- arrays - 调用相同参数的函数自己的参数(数组)Swift
- react-native - 如何处理 safeAreaView + React Navigation?
- javascript - 从 Jquery AJAX 调用 API 时出现跨域错误
- google-maps - getQueryPredictions Api 无法获取格式化地址的地址
- javascript - 如何在单击下一步按钮时一一显示数组元素?
- javascript - 面临将参数传递给reactjs中的方法的问题
- swift - 自定义键盘扩展中不存在键盘
- internet-explorer - 使用量角器在 IE 11 的输入框中输入文本
- react-native - ReactNative:Xcode 链接器命令失败,退出代码为 1
- c# - 如何在运行时使用从抽象类继承的字符串获取类的类型并将检索到的类型用作参数