_.sortBy のメモ

2021年12月4日

CDN で読み込む場合は下記の通り。

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.9/lodash.min.js"></script>

配列をソートしてみます。

<script>
    numbers = [10, -5, 0]
    result = _.sortBy(numbers);
    console.log(result)
    // [-5, 0, 10]
</script>

配列を逆順でソートしてみます。

<script>
    numbers = [10, -5, 0]
    result = _.sortBy(numbers).reverse();
    console.log(result)
    // [10, 0, -5]
</script>

辞書を名前順にソートしてみます。

<script>
    datas = [
        { name: 'banana', price: 30},
        { name: 'apple', price: 10},
        { name: 'celery', price: 20}
    ]
    result = _.sortBy(datas, "name")
    console.log(result)
    //  0: {name: 'apple', price: 10}
    //  1: {name: 'banana', price: 30}
    //  2: {name: 'celery', price: 20}
</script>

辞書を名前順にソートし、その中で値段順にソートしてみます。

<script>
    datas = [
        { name: 'banana', price: 40},
        { name: 'banana', price: 30},
        { name: 'apple', price: 20},
        { name: 'apple', price: 10},
        { name: 'celery', price: 30},
        { name: 'celery', price: 20},
    ]
    result = _.sortBy(datas, ["name", "price"])
    console.log(result)
    // 0: {name: 'apple', price: 10}
    // 1: {name: 'apple', price: 20}
    // 2: {name: 'banana', price: 30}
    // 3: {name: 'banana', price: 40}
    // 4: {name: 'celery', price: 20}
    // 5: {name: 'celery', price: 30}
</script>

ひらがな、カタカナ、null、空文字の順番を確認してみます。

<script>
    datas = [
        { name: 'ばなな', price: 40},
        { name: 'バナナ', price: 30},
        { name: 'りんご', price: 20},
        { name: 'リンゴ', price: 10},
        { name: 'せろり', price: 30},
        { name: 'セロリ', price: 20},
        { name: null, price: 40},
        { name: '', price: 50},
    ]
    result = _.sortBy(datas, "name")
    console.log(result)
    // 0: {name: '', price: 50}
    // 1: {name: 'せろり', price: 30}
    // 2: {name: 'ばなな', price: 40}
    // 3: {name: 'りんご', price: 20}
    // 4: {name: 'セロリ', price: 20}
    // 5: {name: 'バナナ', price: 30}
    // 6: {name: 'リンゴ', price: 10}
    // 7: {name: null, price: 40}
</script>

2021年12月4日