gpt4 book ai didi

javascript - 表排序无法正常工作

转载 作者:行者123 更新时间:2023-12-03 02:24:37 24 4
gpt4 key购买 nike

我遇到了一些我无法理解和弄清楚的奇怪的事情。

我正在尝试对表格进行排序(升序/降序) - 问题是,它没有按预期工作。我尝试过调试,但仍然不知道为什么它不起作用,尽管代码是正确的(我认为)。

This is the tutorial code that I've used

教程中的一切都很好,但对我来说没有任何作用。

这是我排序前的表格:

这是我排序后的表格(应该是升序):

我的代码与教程中的完全相同,我没有对原始函数进行任何更改。

在调试过程中我注意到问题似乎出在这一行:

if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase())

它在第一次迭代中返回 true (而且它不应该,因为我的表行 ,,Learn ReactJs'' 移到了底部,并且 ,,Zinish 前端项目'' 移到了第一位表)

我尝试将 ,,greater'' 符号更改为 ,,lower'' 符号,但这没有帮助。我还尝试添加:

if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
shouldSwitch = true;
break;
} else { shouldSwitch = false;}

但这也没有帮助。我不知道为什么它不起作用。请帮忙..

编辑:这是我的 table 上的笔以及函数本身

https://codepen.io/anon/pen/rJQJKx

edit2:笔中应该有i=0,而不是for循环中的i=1,但仍然没有解决排序问题。

最佳答案

这是因为某些单元格值包含前导空格,而其他单元格值则不包含:

<td> Zinish frontend project.</td>

<td>Finish my bachelor work by the end of this week otherwise they will kick me.</td>

因此,当然第一个字符会排在第二个字符之前,因为空格字符“小于”任何实际字母。

从 HTML 中删除这些空格 - 或 trim在比较这两个值之前。

关于javascript - 表排序无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49005631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com