簡體   English   中英

將同時包含字符串和數字的JavaScript數組排序為僅數字數組和僅字符串數組

[英]Sort JavaScript Array With Both Strings and Numbers into a numbers only array and a string only array

我有一個包含以下數據的數組:

var arr = [30, "Chad", 400, 700, "Brian", "Zander", "allen", 43, 50]

我想將此數組排序為僅包含數字(從最低到最高)的數組,以及僅包含字符串的另一個數組(按字母順序排列-艾倫中的“ a”當前為小寫字母,但仍應位於其他名稱之前) 。

我假設我將結合for / else語句使用for循環,但不確定語法。 任何幫助,將不勝感激。

您可以使用過濾器排序功能。 默認情況下,將對數組進行比較,將各項作為strings進行比較。 因此,對於numbers您需要顯式地傳遞sorting function

.sort((a,b) => a - b);

對於字符串,默認比較是好的。

 var arr = [30, "Chad", 400, 700, "Brian", "Zander", "allen", 43, 50] var numbers = arr.filter(item => typeof item === 'number').sort((a,b) => a - b); var strings = arr.filter(item => typeof item === 'string').sort((a,b) => a.localeCompare(b)); console.log(numbers); console.log(strings); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM