数组元素中的javascript搜索

数组元素中的javascript搜索,javascript,arrays,Javascript,Arrays,我有这样的数组: var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"]; var user = notes[highestIndex].substring(0, notes[highestIndex].indexO

我有这样的数组:

var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var user = notes[highestIndex].substring(0, notes[highestIndex].indexOf(',') - 1);
var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var search_date="17/2/2008";

var res = [];

for(var i = 0; i < notes.length; i++) {
  var note = notes[i];
  if(note.indexOf(search_date) !== -1) {
    res.push(note.substring(note.indexOf('note:') + 1), note.length);
  }
}

var noteYouWanted = res[res.length - 1];
我有

var search_date="17/2/2008";

我想查找上次出现的便笺以及该便笺的用户。有人知道怎么做吗?提前感谢您的回复。

您可以迭代数组并检查属性


您可以使用下划线.js:

迭代数组并检查属性

您可以使用下划线.js:

尝试以下操作:

var highestIndex = 0;
for (var i = 0; i < notes.length; i++){
    if (notes[i].indexOf(search_date) != -1){
        highestIndex = i;
    }
}
//after for loop, highestIndex contains the last index containing the search date.
试试这个:

var highestIndex = 0;
for (var i = 0; i < notes.length; i++){
    if (notes[i].indexOf(search_date) != -1){
        highestIndex = i;
    }
}
//after for loop, highestIndex contains the last index containing the search date.
for(变量i=0;i
用于(变量i=0;i
类似这样的内容:

var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var user = notes[highestIndex].substring(0, notes[highestIndex].indexOf(',') - 1);
var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var search_date="17/2/2008";

var res = [];

for(var i = 0; i < notes.length; i++) {
  var note = notes[i];
  if(note.indexOf(search_date) !== -1) {
    res.push(note.substring(note.indexOf('note:') + 1), note.length);
  }
}

var noteYouWanted = res[res.length - 1];
var notes=[“user1,日期:13/2/2008,注:blablabla”,“user1,日期:15/2/2008,注:blablabla”,“user1,日期:17/2/2008,注:blablabla”,“user1,日期:13/3/2008,注:blablabla”];
var search_date=“17/2/2008”;
var-res=[];
对于(变量i=0;i
类似这样的内容:

var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var user = notes[highestIndex].substring(0, notes[highestIndex].indexOf(',') - 1);
var notes = ["user1,date:13/2/2008,note:blablabla", "user1,date:15/2/2008,note:blablabla", "user1,date:17/2/2008,note:blablabla", "user1,date:13/3/2008,note:blablabla"];
var search_date="17/2/2008";

var res = [];

for(var i = 0; i < notes.length; i++) {
  var note = notes[i];
  if(note.indexOf(search_date) !== -1) {
    res.push(note.substring(note.indexOf('note:') + 1), note.length);
  }
}

var noteYouWanted = res[res.length - 1];
var notes=[“user1,日期:13/2/2008,注:blablabla”,“user1,日期:15/2/2008,注:blablabla”,“user1,日期:17/2/2008,注:blablabla”,“user1,日期:13/3/2008,注:blablabla”];
var search_date=“17/2/2008”;
var-res=[];
对于(变量i=0;i
作品;-)


作品;-)

对于最后一次事件,如果性能重要:

var notes = ['user1,date:13/2/2008,note:blablabla', 'user1,date:15/2/2008,note:blablabla', 'user1,date:17/2/2008,note:blablabla', 'user1,date:13/3/2008,note:blablabla'],
    search = '17/2/2008',
    notesLength = notes.length - 1,
    counter,
    highestIndex = null;

for (counter = notesLength; counter >= 0; counter--) {
    if (notes[counter].indexOf(search) !== -1) {
        highestIndex = counter;
        break;
    }
}

// do something with notes[highestIndex]

对于最后一次事件,如果性能重要:

var notes = ['user1,date:13/2/2008,note:blablabla', 'user1,date:15/2/2008,note:blablabla', 'user1,date:17/2/2008,note:blablabla', 'user1,date:13/3/2008,note:blablabla'],
    search = '17/2/2008',
    notesLength = notes.length - 1,
    counter,
    highestIndex = null;

for (counter = notesLength; counter >= 0; counter--) {
    if (notes[counter].indexOf(search) !== -1) {
        highestIndex = counter;
        break;
    }
}

// do something with notes[highestIndex]
示例如下:


这里的示例:

我认为没有内置任何东西,只需编写一个循环。您尝试过任何东西吗?你必须循环,解析每个值,看看它是否匹配。Stringify,然后使用regexp。因为这是可能的:-)@MrCkobe-看,我不认为有任何内置的东西,只要写一个循环。你试过什么了吗?你必须循环,解析每个值,看看它是否匹配。Stringify,然后使用regexp。仅仅因为这是可能的:-)@MrCkobe-请参阅@MrCkobe-单击右上角的编辑,或使用此链接:然后在顶部单击Runwithjs@MrCkobe-单击右上角的编辑,或使用此链接:然后在顶部单击RunwithJS,请注意indexOf在IE8及更早版本中不受支持。-乔尔-谢谢,但现在这提出了一个问题,我不是100%清楚的答案。我读过(例如)关于字符串的indexOf(我是如何使用它的)从很早的IE版本就已经存在了。我已经读到IE8及以下版本不存在对阵列的indexOf支持。如果不尝试的话,我无法给出一个明确的答案,但从其他来源听起来似乎也是这样。哎呀,我错了,我没有仔细阅读。缺少数组indexOf,但yes字符串的indexOf应该可以正常工作。我知道有类似的解决方案,但我将此标记为答案,因为我使用了此解决方案。感谢大家的帮助。请注意indexOf在IE8及更高版本中不受支持。-乔尔-谢谢,但现在这提出了一个问题,我不是100%清楚的答案。我读过(例如)关于字符串的indexOf(我是如何使用它的)从很早的IE版本就已经存在了。我已经读到IE8及以下版本不存在对阵列的indexOf支持。如果不尝试的话,我无法给出一个明确的答案,但从其他来源听起来似乎也是这样。哎呀,我错了,我没有仔细阅读。缺少数组indexOf,但yes字符串的indexOf应该可以正常工作。我知道有类似的解决方案,但我将此标记为答案,因为我使用了此解决方案。谢谢大家的帮助。