首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组和div中的最高数

数组和div中的最高数
EN

Stack Overflow用户
提问于 2013-08-24 10:01:34
回答 5查看 264关注 0票数 2

如何找到数组中最高的数字,并对数组进行排序,使其首先拥有最高的数字?

我也在使用jQuery,如果这样会使它更简单的话。我不知道如何对其排序,然后用html将排序数组输出到usersInRoom div。

希望有人能帮我这个忙!

我在javascript中读了一些关于"max“的内容,但是它很复杂,与我的代码不匹配。

我会把神仙分类.而不是mydiv,因为它包含数组中的一个数组。

代码语言:javascript
复制
<div id="usersInRoom">
    <div class="entry in_room" id="userInRoom-2" style="background-color: rgb(255, 255, 255);">
        <table style="width:100%">
            <tbody>
            <tr>
                <td style="width:32px">
                    <img
                        src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/c33.33.414.414/s200x200/996882_221295918024677_1913237122_n.jpg"
                        style="height:32px;width:32px">
                </td>
                <td style="vertical-align:middle"><strong>Stefanie Pedersen</strong>
                </td>
                <td align="right" style="vertical-align:middle;color:#999"><span id="exp-2" class="exp">6</span> exp.
                </td>
            </tr>
            </tbody>
        </table>
    </div>
    <div class="entry in_room" id="userInRoom-1" style="background-color: rgb(155, 229, 162);">
        <table style="width:100%">
            <tbody>
            <tr>
                <td style="width:32px">
                    <img
                        src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/c176.49.608.608/s200x200/429356_10151257167066983_1091687280_n.jpg"
                        style="height:32px;width:32px">
                </td>
                <td style="vertical-align:middle"><strong>Bare Kald Mig Jesper</strong>
                </td>
                <td align="right" style="vertical-align:middle;color:#999"><span id="exp-1" class="exp">14</span> exp.
                </td>
            </tr>
            </tbody>
        </table>
    </div>
</div>

这是我的jQuery代码,用于将HTML和数字插入数组中,之后,它应该“只是”对其进行排序并再次输出。

代码语言:javascript
复制
<script>
var numbers = [];
var mydivs = [];
var arr = $("#usersInRoom").find(".exp");
$.each(arr, function (e) {
    var eq = arr[e];
    console.log(eq);
    mydivs.push({
        "html": $(eq).parents(".entry").parents("div").html(),
        "number": parseInt($(eq).text())
    });
});

</script>

我会把神仙分类.<

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-08-24 10:52:39

这个项目应该包含两个以上的元素:

代码语言:javascript
复制
var aRows = jQuery.makeArray($('#usersInRoom').children());
aRows.sort(function(a,b) {
    return parseInt($(b).find('.exp').text()) -
           parseInt($(a).find('.exp').text());
});
$('#usersInRoom').empty().append(aRows);
票数 2
EN

Stack Overflow用户

发布于 2013-08-24 10:16:34

我不知道您的数组是什么样子,但我认为您可以使用JavaScript排序方法。

代码语言:javascript
复制
var NumbersArray = [400,200,600,300,1000];
var SortedArray = NumbersArray.sort(function(a,b){return b-a});
alert(SortedArray);

sort.asp

如果您想在排序之前找到最高的数字,可以尝试如下所示:

代码语言:javascript
复制
var NumbersArray = [400,200,600,300,1000];
var MaxPreviousNumber = 0;
for (var i = 0; i <= NumbersArray.length; i++) {
    var MaxPreviousNumber = Math.max(MaxPreviousNumber, NumbersArray[i]);
}
票数 1
EN

Stack Overflow用户

发布于 2013-08-24 10:38:44

我觉得这是你想做的事

http://jsfiddle.net/j8bLc/2/

代码语言:javascript
复制
var arr = $("#usersInRoom").find(".exp");
$.each(arr, function (key, el) {
    var curr = parseInt($(el).text());
    var top = parseInt($("#usersInRoom .exp").eq(0).text());
    if(curr > top) {
        $(el).closest(".entry").prependTo('#usersInRoom');
    }
});

但是,使用较少的DOM操作可能会有更好的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18417306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档