使用方法sort()对数组元素中的符号进行排序

时间:2017-12-14 13:38:35

标签: javascript arrays sorting

我需要用符号unicode对数组xxxx@yyyyy~$的元素cinema进行排序(在输出中它必须像“ aceinm ”)。我知道在这种情况下我们需要使用方法arr。但我知道如何为数组元素注入排序方法。

请帮忙。以下代码无效。

  

错误:arr [1] .sort不是函数。

sort()

3 个答案:

答案 0 :(得分:6)

如果要对字符串进行排序,可以通过拆分和连接字符串来轻松完成此操作。

"cinema".split ("").sort ().join ("")
// aceimn

或者,在您的情况下:

arr[0] = arr [0].split ("").sort ().join ("")
// arr: ["aceimn"]

如果需要对数组中的所有字符串进行排序,请使用map ()

arr = arr.map (itm => itm.split ("").sort ().join (""))

答案 1 :(得分:2)

您所指的arr[1]不可用,您还必须split才能对字母进行排序。

var arr = ["cinema"];
var sorted = arr[0].split('').sort();
console.log(sorted, sorted.join(''));

答案 2 :(得分:1)

这应该做你想要的:

var arr = ["cinema"];

console.log(arr[0].split("").sort().join(""));
编辑:我看到其他几个人提出了同样的解决方案。我会稍微扩展一下。

由于您希望按照影院中的字母进行排序,而影片位于索引0处,您可以通过调用arr [0]获得字符串“cinema”,然后使用方法.split(“”分割字符串。 )。这会将字符串转换为一个数组,您可以按照最初尝试的方式使用.sort()。

你得到的错误,“错误:arr [1] .sort不是函数”,告诉你.sort()不是字符串元素的函数。一旦将字符串转换为数组(例如使用.split()),.sort()函数就变为可用。