[英]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.