2011-03-18 57 views
0

我有一个包含文本和html的数组。 myArray的[1]包含以下.. myArray的[2]包含同样的事情,只是不同的名字“约翰”等我如何根据其中的一个内容对数组进行排序

153); color: white; cursor: pointer; font-size: 12px; font-weight: normal; font-family: 
Arial;" onmouseover="this.style.backgroundColor = 'white'; this.style.color='#336699'" 
onmouseout="this.style.backgroundColor = ''; this.style.color = 'white'; " 
onclick="if(top.mail.checkDataset()) mail.execFunction('javascript: changeMain(\'orderCreate1.do\')')"> 

<img alt="" src="images/round-white-bullet.gif" height="10" width="10"> John<br> 

整个阵列,使其忽略一切,由名sortsd我怎样才能进行排序'约翰'在这种情况下?名称总是在图像之后和之前br如果有帮助

+2

请让您的文章易读。 – Mat 2011-03-18 11:58:01

+0

你的意思是单个数组元素具有所有标记吗?在你的例子中,不清楚在这里分隔数组元素。目前还不清楚“按照约翰'的名称排序”的含义。你能澄清一下吗? – kojiro 2011-03-18 11:59:44

+0

OP中给出的代码与该问题不符,请编辑 – 3rgo 2011-03-18 12:53:24

回答

1

问题陈述有点含糊,但一般来说,您可以使用某些函数对数组进行排序,该函数提取要排序的键(我将通过使用类似下面的调用这个函数key这里):

array.sort(function(x, y) { 
    var x_key = key(x); 
    var y_key = key(y); 
    return (x_key < y_key ? -1 : x_key === y_key ? 0 : 1); 
}); 

在你的情况,key将不得不从一个数组元素提取名称的函数。

如果你的数组元素都是字符串,你可能会想尝试的正则表达式:

var key = function(x) { 
    return /<img[^>]*>([^<]*)<br>/.exec(x)[1]; 
}; 
+0

如何继续实现关键功能 – code511788465541441 2011-03-18 12:50:00

相关问题