比较值并确定数组中的位置

时间:2016-04-05 09:35:29

标签: javascript jquery arrays

我有一个名为dataid的数组,这里是我的数组的console.log

enter image description here

在我的网址中我存储了myid: enter image description here

我想这样做,如果我点击ID为“next”的跨度,它会在我的URL中向我发送数组datatid中下一个id的值。首先,我们需要确定myid在我的数组中的位置,然后确定下一个在我的URL中发送它的值。

这是我试过的:

  var newid = GetURLParameter('myid');
  console.log(newid);
  var dataid = localStorage.getItem("mesid");
  console.log(dataid);


  function nextticket(){
    var position = dataid.indexOf(newid)+1;
    console.log(dataid.indexOf(newid));
    console.log(position);
  }

这是我得到的: enter image description here

但这个位置错了!

1 个答案:

答案 0 :(得分:2)

localStorage存储字符串,而不是数组。 输出中的位置10是因为" 4653"发生在字符串" 5475,4831,4653中的字符位置10,..."。

您需要将字符串拆分为数组,如下所示:

var position = dataid.split(',').indexOf(newid) + 1;

此处使用的split()方法将逗号分隔的字符串转换为数组。