为什么排序列表适用于Firefox,但不适用于chrome?

时间:2020-04-04 01:43:35

标签: javascript reactjs

单击 后,将调用以下功能。这适用于Firefox,但不适用于Chrome。


    handleSort(event) {
        let id = event.target.id;

        this.setState(prev => {
            console.log(prev);
            return { 
                [id]: !prev[id],
                books: prev.books.sort((a, b) =>
                    prev[id] ? a[id] < b[id] : a[id] > b[id]
                )
            };
        });
    }


1 个答案:

答案 0 :(得分:1)

您实现比较器的方式适用于Firefox,因为(也许)Firefox引擎假定布尔值truefalse分别为1-1。 Chrome的实现似乎更为敏感,因为它明确希望您从排序比较器返回-101中的一个。

您可能想更改sort()内部的比较,以使其在所有浏览器上均可使用。

相关问题