Javascript - 在初始' - '之后对数组进行排序

时间:2017-11-20 15:17:05

标签: javascript arrays sorting split

使用vanilla javascript对字符串值数组进行排序的最简洁方法是什么?我希望在每个值打开后按字母顺序排序' - '。示例数组...

array = [
    '1028341000-AJINOMOTO WINDSOR HAYWARD-HAYWARD',
    '1018551000-ZEBRA PIERRE',
    '1023221000-NEVERENDER WORMHOLE CHEYENNE-CHEYENNE'
]

所以,正确的顺序是1,3,2。非常感谢任何帮助!

4 个答案:

答案 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]);
});

将字符串拆分为第一个-,然后以字符串形式抓取所有内容。比较两者并进行正常排序。