使用vanilla javascript对字符串值数组进行排序的最简洁方法是什么?我希望在每个值打开后按字母顺序排序' - '。示例数组...
array = [
'1028341000-AJINOMOTO WINDSOR HAYWARD-HAYWARD',
'1018551000-ZEBRA PIERRE',
'1023221000-NEVERENDER WORMHOLE CHEYENNE-CHEYENNE'
]
所以,正确的顺序是1,3,2。非常感谢任何帮助!
答案 0 :(得分:1)
您可以使用:
array.sort( (a, b) => a.substr(a.indexOf('-')).localeCompare(b.substr(b.indexOf('-'))) );
var array = [
'1028341000-AJINOMOTO WINDSOR HAYWARD-HAYWARD',
'1018551000-ZEBRA PIERRE',
'1023221000-NEVERENDER WORMHOLE CHEYENNE-CHEYENNE'
];
array.sort( (a, b) => a.substr(a.indexOf('-')).localeCompare(b.substr(b.indexOf('-'))) );
console.log(array);

答案 1 :(得分:1)
您可以对字符串进行切片并按字符串排序。
<div class="modal-content">
<div class="modal-header"> (...) </div>
<div class="modal-body"> (...) </div>
<div class="modal-footer"> (...) </div>
</div>
答案 2 :(得分:1)
尝试
if ([self.textfield acceptsFirstResponder])
[self.textfield.window makeFirstResponder:self.textfield];
<强>演示强>
array.sort( function(a,b){
var astr = a.substring(a.indexOf("-")+1);
var bstr = b.substring(b.indexOf("-")+1);
return astr.localeCompare(bstr);
});
答案 3 :(得分:0)
使用split和localeCompare:
array.sort(function(a, b){
return a.split("-")[1].localeCompare(b.split("-")[1]);
});
将字符串拆分为第一个-
,然后以字符串形式抓取所有内容。比较两者并进行正常排序。