gpt4 book ai didi

javascript - 数组中的值如何随 Jquery 移动?

转载 作者:行者123 更新时间:2023-11-28 17:06:27 25 4
gpt4 key购买 nike

我正在对聊天列表中的在线成员列表进行排序。我想将我的值(value)保持在最高水平。我怎样才能走最短的路?

// MY Jquery Code JS
var list = [
{"userid":"19380","username":"User54660"},
{"userid":"10908","username":"User63466"},
{"userid":"10908","username":"My Name"},
{"userid":"10908","username":"User34840"}
];

var htmlOut = "";
$.each(list, function(index, value) {
htmlOut += '<li class="my">' + value.username + '</li>'
});
$('#__ajaxOnlineList').append(htmlOut);
<!-- Normal Output HTML  -->
<ul id="__ajaxOnlineList">
<li>User54660</li>
<li>User63466</li>
<li class="my-rank">My Name</li>
<li>User34840</li>
</ul>

<!-- Desired Result HTML -->
<ul id="__ajaxOnlineList">
<li class="my-rank">My Name</li>
<li>User54660</li>
<li>User63466</li>
<li>User34840</li>
</ul>

电流输出

enter image description here

期望的输出

enter image description here

最后代码: last code

最佳答案

在上面的注释之后,您只需对原始数组进行排序,返回与变量具有相同排名的元素的最高位置。

// MY Jquery Code JS
var myrank = 19380; // retrieved from the comments above.
var list = [
{"userid":"19380","username":"User54660"},
{"userid":"10908","username":"User63466"},
{"userid":"10908","username":"My Name"},
{"userid":"10908","username":"User34840"}
].sort(item => +item.userid === myrank ? -1 : 1);


var htmlOut = "";
$.each(list, function(index, value) {
var _hasClass = +value.userid === myrank;
htmlOut += '<li' + _hasClass ? ' class="my-rank"' : ''+ '>' + value.username + '</li>'
});
$('#__ajaxOnlineList').append(htmlOut);

上面的代码将处理:

  • 通过将与用户 ID 具有相同排名的项目推到数组顶部,对原始列表进行排序。
  • 使用上面定义的相同条件在项目上打印 class="my-rank"

item.useridvalue.userid 之前使用的 + 用于将值转换为数字,以便 >=== 断言将按预期工作。

顺便说一句,在这种情况下排序是不必要的。我想知道您期望它如何工作,因为提供的排名不是我的名字的排名。

关于javascript - 数组中的值如何随 Jquery 移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55743491/

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