gpt4 book ai didi

javascript - 如何按字符串中 'word' 出现的升序对字符串数组进行排序? javascript

转载 作者:行者123 更新时间:2023-12-01 00:37:50 26 4
gpt4 key购买 nike

假设我的数组中有以下字符串:

let strings = ['cat bone Dog', 'Dogcat bone', 'cat Dog bone'];
.
.
.
.
return sortedString = ['Dogcat bone', 'cat Dog bone', 'cat bone Dog'];

我正在考虑使用 localeCompare 但我不知道如何指定按特定字符集排序,在本例中,我想按“Dog”排序。

我仍然可以将“Dog”一词附加到其他不带空格的词,例如“Dogcat 骨头”。

最佳答案

按空格分割字符串,并返回您要在数组中查找的单词的 indexOf 的差异:

let strings = ['cat bone Dog', 'Dog cat bone', 'cat Dog bone'];
const getDogPos = string => string.split(' ').indexOf('Dog');

strings.sort((a, b) => getDogPos(a) - getDogPos(b));
console.log(strings);

如果您想按字符串中子字符串的位置排序,而不是单词的位置,则只需使用indexOf 不先拆分:

let strings = ['cat bone Dog', 'Dogcat bone', 'cat Dog bone'];
const getDogPos = string => string.indexOf('Dog');

strings.sort((a, b) => getDogPos(a) - getDogPos(b));
console.log(strings);

关于javascript - 如何按字符串中 'word' 出现的升序对字符串数组进行排序? javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57948803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com