在Array中搜索名称

时间:2012-11-04 15:24:00

标签: javascript arrays for-loop

我需要在javascript中过滤我的数组,但它并不想工作。

在数组中有像"John Smith" "John Smithyear" "John Smithgender"这样的字符串,我只想要名称(" John Smith")的字符串放入我的字符串中列表视图。

但我怎么能消灭另一个呢?

function listrefresh() {

//Kill the old list
$('#test').children().remove('li');

//Get data from jstorage
var data = $.jStorage.index();

//Sort it
var myArray = data.sort();

//Each element into the list BUT I DONT WANT xxgender xxyear in it!
myArray.forEach(function (element) {
var parent = document.getElementById('test');
var listItem = document.createElement('li');
listItem.setAttribute('id','listitem');
listItem.innerHTML = element;
parent.appendChild(listItem);
var list = document.getElementById('test');
$(list).listview("refresh");
});
}

2 个答案:

答案 0 :(得分:0)

您可以使用grep

var arr = [  "John Smith", "John Smithyear", "John Smithgender" ];

var sortedList = $.grep(arr, function(n, i){
  return (n == "John Smith");
});
var joinedarray=sortedList.join(", ");

答案 1 :(得分:-1)

您可以使用jQuery map函数,例如:

http://api.jquery.com/jQuery.map/

在回调函数中,您只需修改该值或返回null或undefined以从数组中删除值。