Javascript JQuery检索下一个最大的元素
在JQuery中,我有一个数组Javascript JQuery检索下一个最大的元素,javascript,arrays,Javascript,Arrays,在JQuery中,我有一个数组 (1,2,6,8) 我已经选择了保存在JQuery变量中的第一个元素1 submitterid = 1 单击一个链接,我试图获得数组中比我在SubmiterID中选择的元素更大的元素 我怎样才能做到这一点 编辑: 如何在代码中找到此数组中的最后一个元素 var previousId; $("#previous").click(function (){ index = submitters.inde
(1,2,6,8)
我已经选择了保存在JQuery变量中的第一个元素1
submitterid = 1
单击一个链接,我试图获得数组中比我在SubmiterID中选择的元素更大的元素
我怎样才能做到这一点
编辑:
如何在代码中找到此数组中的最后一个元素
var previousId;
$("#previous").click(function (){
index = submitters.indexOf(submitterid),
nextId;
if (index - 1 < submitters.length) {
previousId = submitters[index-1];
} else {
// no ID index
// if i am having an array of 1,2,6,8 after moving to 1 from 8 to 6 - 2-1 i am trying to move to the last element of the array
}
alert(previousId);
});// previousId
var-previousId;
$(“#上一个”)。单击(函数(){
索引=提交者。indexOf(提交者ID),
nextId;
if(索引-1<提交者长度){
previousId=提交者[索引-1];
}否则{
//无ID索引
//如果我有一个1,2,6,8的数组,在从8移动到6-2-1之后,我试图移动到数组的最后一个元素
}
警报(以前的ID);
});// 以前的
为什么您不能执行以下操作:
var arr = [3, 5, 8, 3].sort(function (a, b) { return a - b; } );
var val = arr.pop();
任何值都会不断弹出数组--表示值不需要保留在数组中
如果随机选取值,并且需要下一个最高值,则编写相应的排序函数。为什么不能执行以下操作:
var arr = [3, 5, 8, 3].sort(function (a, b) { return a - b; } );
var val = arr.pop();
任何值都会不断弹出数组--表示值不需要保留在数组中
如果随机选取值,并且需要下一个最高值,则编写相应的排序函数。您必须在数组中循环。 请尝试以下未经测试的代码:
// Your test array.
var arrValues = [ "1", "2", "6", "8" ];
var low = 1;
var high = 2;
// Loop over each value in the array.
$.each( arrValues, function( intIndex, objValue ){
if (objValue > high)
hight = objValue;
if (objValue < high)
if (objValue > low)
low = objValue
});
return low;
//您的测试数组。
风险值=[“1”、“2”、“6”、“8”];
var-low=1;
var高=2;
//循环数组中的每个值。
$.each(ARR值、函数(intIndex、objValue){
如果(objValue>高)
hight=objValue;
if(objValue<高)
如果(objValue>low)
低=OBJ7值
});
低回报;
您必须在阵列中循环。
请尝试以下未经测试的代码:
// Your test array.
var arrValues = [ "1", "2", "6", "8" ];
var low = 1;
var high = 2;
// Loop over each value in the array.
$.each( arrValues, function( intIndex, objValue ){
if (objValue > high)
hight = objValue;
if (objValue < high)
if (objValue > low)
low = objValue
});
return low;
//您的测试数组。
风险值=[“1”、“2”、“6”、“8”];
var-low=1;
var高=2;
//循环数组中的每个值。
$.each(ARR值、函数(intIndex、objValue){
如果(objValue>高)
hight=objValue;
if(objValue<高)
如果(objValue>low)
低=OBJ7值
});
低回报;
实际上,没有必要为此使用任何特定于jquery的东西,除了单击事件处理之外,只需使用“纯javascript”即可
var myArray = [ 1, 2, 6, 8 ];
var submitterid = 1;
$(function() {
$('a#id').click(function(event) {
event.preventDefault();
var greater = -1;
// loop through array
for (var i in myArray)
// find numbers greater than the specified number
if (i > submitterid)
// find numbers closest to specified number
if (i < greater || greater < 0)
greater = i;
if (greater < 0) {
// no greater value found, do something
} else {
// next biggest value is in variable greater, do something with it
}
});
});
var myArray=[1,2,6,8];
var submitterid=1;
$(函数(){
$('a#id')。单击(函数(事件){
event.preventDefault();
var大于=-1;
//循环阵列
for(myArray中的变量i)
//查找大于指定数字的数字
如果(i>提交者ID)
//查找最接近指定数字的数字
如果(i<更大| |更大<0)
更大=i;
如果(大于<0){
//找不到更大的价值,做点什么吧
}否则{
//下一个最大的值是变量越大,用它做点什么
}
});
});
实际上,没有必要为此使用任何特定于jquery的东西,除了单击事件处理之外,只需使用“纯javascript”即可
var myArray = [ 1, 2, 6, 8 ];
var submitterid = 1;
$(function() {
$('a#id').click(function(event) {
event.preventDefault();
var greater = -1;
// loop through array
for (var i in myArray)
// find numbers greater than the specified number
if (i > submitterid)
// find numbers closest to specified number
if (i < greater || greater < 0)
greater = i;
if (greater < 0) {
// no greater value found, do something
} else {
// next biggest value is in variable greater, do something with it
}
});
});
var myArray=[1,2,6,8];
var submitterid=1;
$(函数(){
$('a#id')。单击(函数(事件){
event.preventDefault();
var大于=-1;
//循环阵列
for(myArray中的变量i)
//查找大于指定数字的数字
如果(i>提交者ID)
//查找最接近指定数字的数字
如果(i<更大| |更大<0)
更大=i;
如果(大于<0){
//找不到更大的价值,做点什么吧
}否则{
//下一个最大的值是变量越大,用它做点什么
}
});
});
您想要一个计数器:
function counter(arr) {
this.arr = arr;
this.index = 0;
}
counter.prototype.next = function() {
return this.arr[this.index++];
}
您可以实例化它,并像以下那样使用它:
var nums = new counter([1,2,3,4,5]);
nums.next() ; => 1
nums.next() ; => 2
nums.next() ; => 3
你想要一个柜台:
function counter(arr) {
this.arr = arr;
this.index = 0;
}
counter.prototype.next = function() {
return this.arr[this.index++];
}
您可以实例化它,并像以下那样使用它:
var nums = new counter([1,2,3,4,5]);
nums.next() ; => 1
nums.next() ; => 2
nums.next() ; => 3
如果数组已排序(请参见),请尝试以下操作:
var arr = [1,2,6,8],
submitterid = 1,
index = arr.indexOf(submitterid),
nextId;
if (index + 1 < arr.length) {
nextId = arr[index+1];
} else {
// no ID index
}
var arr=[1,2,6,8],
提交者ID=1,
索引=arr.indexOf(提交者ID),
nextId;
如果(索引+1
如果数组已排序(请参阅),请尝试以下操作:
var arr = [1,2,6,8],
submitterid = 1,
index = arr.indexOf(submitterid),
nextId;
if (index + 1 < arr.length) {
nextId = arr[index+1];
} else {
// no ID index
}
var arr=[1,2,6,8],
提交者ID=1,
索引=arr.indexOf(提交者ID),
nextId;
如果(索引+1
从jquery重新标记为javascript。从jquery重新标记为javascript。贾斯汀的代码也是个好主意。对数组进行排序,最后选择最高值。找到最后一个元素的位置,并返回最后一个元素——贾斯汀的代码也是一个好主意。对数组进行排序,最后选择最高值。查找最后一个元素的位置,并返回最后一个元素-1您不需要指定比较函数,因为这是默认的比较函数。您不需要指定比较函数,因为这是默认的比较函数。这是否会假设数字已排序为低->高?数字可能是1,6,3,9,7。我认为询问者不想知道如何排序;我想他的意思是他们想要下一个最大的指数。在这个例子中,他的数组已经被排序了。这不是假设数字已经被排序为低->高吗?数字可能是1,6,3,9,7。我认为询问者不想知道如何排序;我想他的意思是他们想要下一个最大的指数。他的数组已经在示例中排序。@Aruna:Replaceindex+1
byindex-1>=0
和nextId=arr[index+1]
withprevId=arr[index-1]
@Aruna:Replaceindex+1
byindex-1>=0
和nextId=arr[index+1]
带有prevId=arr[index-1]
。