Javascript 按选定的数值索引在数组上迭代
通过只知道所需数组项的索引,我想知道它的键值。从下面的数组中,它应该只返回:例如,3 理想的情况下,我也喜欢上一个和下一个id JSON HTMLJavascript 按选定的数值索引在数组上迭代,javascript,jquery,arrays,Javascript,Jquery,Arrays,通过只知道所需数组项的索引,我想知道它的键值。从下面的数组中,它应该只返回:例如,3 理想的情况下,我也喜欢上一个和下一个id JSON HTML 这是我的笔:这将是答案。(根据评论中收到的一些指示进行组合) 这将通过仅使用所需的索引值在数组上迭代,从数组元素返回标记为ID的键的值 要迭代的数组 var steps = [{"id":"1","a":"a"},{"id":"3","b":"b"},{"id":"4","c":"c"}]; Jquery $(document).on('click
这是我的笔:这将是答案。(根据评论中收到的一些指示进行组合) 这将通过仅使用所需的索引值在数组上迭代,从数组元素返回标记为ID的键的值 要迭代的数组
var steps = [{"id":"1","a":"a"},{"id":"3","b":"b"},{"id":"4","c":"c"}];
Jquery
$(document).on('click','.steps', function() {
clickedindex = $(this).data('index');
//return the key value of "id" key.
//answer
currentstep = steps[clickedindex];
console.log(currentstep["id"]);
});
codepen:数组是0基的,所以在您的示例中,索引2指向id 4。假设您的意思是数据索引=1,并且“上一个”和“下一个”不为空,那么如果我正确理解您的问题,这可以解决您的问题:
var prev, current, next;
$(document).on('click','.steps', function() {
clickedindex = $(this).data('index');
prev = steps[clickedindex - 1].id;
current = steps[clickedindex].id;
next = steps[clickedindex + 1].id;
console.log(prev + ' ' + current + ' ' + next );
});
您可以根据需要使用prev、current和next。循环或previous/next是否应为空?在上面的示例中,previous/next不应为空。这样做有什么问题?您显然知道数组索引是如何工作的,Jonas的问题当然是关于它在边界情况下如何工作,而不仅仅是在示例中。我想你想要一个在其他情况下也能工作的解决方案?@omar no,它返回你在预期结果中显示的数组,而你仍然没有发现你自己的问题是什么。有很多方法可以做到这一点
var steps = [{"id":"1","a":"a"},{"id":"3","b":"b"},{"id":"4","c":"c"}];
$(document).on('click','.steps', function() {
clickedindex = $(this).data('index');
//return the key value of "id" key.
//answer
currentstep = steps[clickedindex];
console.log(currentstep["id"]);
});
var prev, current, next;
$(document).on('click','.steps', function() {
clickedindex = $(this).data('index');
prev = steps[clickedindex - 1].id;
current = steps[clickedindex].id;
next = steps[clickedindex + 1].id;
console.log(prev + ' ' + current + ' ' + next );
});