我正在尝试打印不在数组中的数字序列。
我想这样的事情可能会这样:
<script>
p = [3, 7, 19, 22, 5];
for (var i = 0; i <= 30 && i != (p array values); i++){
$('body').append(i)
};
</script>
答案 0 :(得分:3)
以下是我认为您正在尝试做的事情(打印0到30之间不属于数组的数字)。
var p = [3, 7, 19, 22, 5];
for (var i = 0; i <= 30; i++){
if ($.inArray(i, p) === -1) $('body').append(i + " ");
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
由于您已经包含了jQuery,我使用jQuery's inArray function来确定该值是否是数组的一部分。
答案 1 :(得分:3)
这是一个简单的循环:
p = [3, 7, 19, 22, 5];
for (var i = 0; i <= 30; i++) {
if (p.indexOf(i) === -1) { // not exist in the array
$('body').append(i + ", ");
}
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body></body>
indexOf()
方法返回可在数组中找到给定元素的第一个索引,如果不存在则返回-1。
见Array.prototype.indexOf()。这是原生JS中非常方便的方法。
答案 2 :(得分:0)
我认为您需要在if语句中执行此操作。
Here是一个工作小提琴。
p = [3, 7, 19, 22, 5];
for (var i = 0; i <= 30; i++) {
if($.inArray(i, p) == -1){
$("body").append(i + "<br>");
}
};
答案 3 :(得分:0)
尝试使用jQuery.inArray()函数,如果它没有在数组中找到值,则返回-1 =)
<script>
p = [3, 7, 19, 22, 5];
for (var i = 0; i <= 30; i++){
if($.inArray( i , p) == -1){
$('body').append(i)
}
};
</script>