0 0

javascript 数组差值排列3

一个数组,
[1,2,3,6,9,20,21,34,45,67,68]
将后一个与前一个的差值
假如连续差值等于1,就要将第一元素与最后一个输出
结果
显示为为一个table
显示效果:
1--3
6,
9,
20---21
34
45
67--68
2009年6月07日 16:37

3个答案 按时间排序 按投票排序

0 0

function mergeToRanges(ary) {
    var acc = null
    var last = null
    for (var i = 0; i < ary.length; i++) {
        var e = ary[i]
        if (!acc) {
            last = [e]
            acc = [last]
        } else if (1 == last.length && last[0] + 1 == e) {
            last = [last[0], e]
            acc[acc.length-1] = last
        } else if (2 == last.length && last[1] + 1 == e) {
            last = [last[0], e]
            acc[acc.length-1] = last
        } else {
            last = [e]
            acc = acc.concat(last)
        }
    }
    return acc
}

mergeToRanges([1,2,3,6,9,20,21,34,45,67,68]).join('\n')


2009年6月22日 14:53
0 0

朋友,问题要自动关闭啦,结分哦,

2009年6月21日 21:30
0 0

嗯看这里,http://rednaxelafx.iteye.com/blog/403634

2009年6月07日 20:48

相关推荐

    Javascript中数组sort和reverse用法分析

    总结起来,`sort()`和`reverse()`是JavaScript数组操作中的两个重要工具。`sort()`提供了排序的功能,但需要注意其默认行为可能不符合预期,特别是处理数字数组时。`reverse()`则简单地翻转了数组元素的顺序,是一个...

    JavaScript实现找出数组中最长的连续数字序列

    5. 遍历排序和去重后的数组,根据是否连续的判断逻辑(当前元素和下一个元素的差值是否为step,或者当前元素和上一个元素的差值是否为step)来决定是否往parseResults中添加当前元素。 6. 若当前元素不满足连续条件...

    JavaScript实验报告.docx

    在升序排列中,我们传递了一个比较函数,该函数返回x和y的差值,当x小于y时返回负数,表示x应该排在y之前,实现升序排列。相反,在降序排列中,我们通过将比较函数的返回值改为y-x,使得y值较大的元素排在前面,实现...

    vue 根据数组中某一项的值进行排序的方法

    在JavaScript中,数组有一个内置的`sort()`方法,它可以接受一个比较函数作为参数,用于自定义排序规则。Vue中的数据响应性机制允许我们在计算属性或方法中直接操作数据,包括对数组进行排序。Vue不会阻止我们直接...

    javascript 倒排序方法

    在JavaScript中,排序通常是指将数组或列表中的元素按照特定顺序(如升序或降序)重新排列的过程。倒排序(或逆序排序)是指将元素按照与原顺序相反的顺序进行排列,也就是说,如果原数组是按照升序排列的,那么倒...

    javascript对表格进行排序.docx

    如果`colindex`等于4,说明用户点击的是最后一列(分数列),那么返回一个基于数值比较的排序函数`numberOrder`,这个函数会直接比较两个数值并返回它们的差值,从而实现升序或降序排列。如果`colindex`不等于4,...

    JS中数组重排序方法

    JS(JavaScript)作为一门广泛使用的脚本语言,在处理数组元素的排序时提供了两种非常方便的方法:reverse()和sort()。这两种方法不仅可以帮助我们快速对数组元素进行排序,还可以通过特定的参数和函数来控制排序的...

    Vue中的循环及修改差值表达式的方法

    如果数组更新后需要重新排列元素,Vue会使用就地更新策略来最大化复用和重新排序现有的元素。这一点在使用v-for渲染列表时尤为重要,因为Vue能够侦听数组变化并智能地批量更新DOM。 接下来是关于修改差值表达式的...

    算法实践JS实现排序查找树两指针动态规划等

    这种技术在解决双端问题,如查找某种模式、合并两个有序数组或找出数组中的最大/最小差值时非常有用。 **动态规划**: 动态规划是一种解决最优化问题的方法,通过将大问题分解为更小的子问题来求解。它通常涉及填充...

    javascript中sort()的用法实例分析

    这意味着即使数组包含的是数字,排序后的结果也是按照字符串的字典顺序排列。例如,对数字[20, 3, 1]进行排序,按照ASCII码排序会得到[1, 20, 3],因为1在ASCII码表中排在2之前。 为了按照数值大小对数字进行排序,...

    js对数组中的数字从小到大排序实现代码

    JavaScript语言内置了数组排序的方法,但在对数字进行从小到大的排序时,需要特别注意。我们可以通过JavaScript中的.sort()方法来对数组中的数字元素进行排序。.sort()方法可以根据提供的排序函数对数组元素进行排序...

    javascript计算渐变颜色的实例

    最终,函数返回 `colors` 数组,它包含了按照从深到浅顺序排列的渐变颜色。 值得一提的是,除了通过编写JavaScript代码来手动计算渐变色之外,许多前端框架和库如CSS3、Sass/SCSS提供了更为简便和强大的渐变功能,...

    JavaScript黑洞数字之运算路线查找算法(递归算法)实例

    - 将输入的数字转换成字符串,然后分割成一个数组 `tempArray`。 - 对数组进行排序,得到由大到小的排列,并转换回整数,得到 `bigNmb`。 - 对数组进行反向排序,得到由小到大的排列,并转换回整数,得到 `smallNmb`...

    javascript时间排序算法实现活动秒杀倒计时效果

    排序函数`compare`利用闭包技术,通过传入的属性名来比较数组中对象的值,实现对象数组按照指定属性的升序或降序排列。 结合具体的页面实现,我们可以使用定时器每隔一定时间(例如1秒钟)更新页面上的倒计时时间,...

    PHP舒尔特25方格游戏.zip

    然后,通过调整数组元素的位置达到随机排列的效果。 ```php $numbers = range(1, 25); shuffle($numbers); $grid = array_chunk($numbers, 5); ``` 2. **HTML布局与JavaScript交互**:前端部分通常使用HTML和CSS...

    用javascript实现给出的盒子的序列是否可连为一矩型

    题目要求使用JavaScript编写一个函数,该函数接收一个数字数组(代表盒子的高度),并判断这些高度能否按某种顺序排列成一个矩形。这里的矩形指的是由一系列盒子组成的,每个盒子的高度即为数组中的数值,且每个盒子...

    时间轴(最简单的实现)

    时间轴是一种展示事件按时间顺序排列的图形化方式,它在很多领域,如项目管理、历史记录、新闻报道、个人日记等中都有广泛的应用。在这个主题中,我们关注的是一个最简单的实现,它包含了自动时间分类和“刚刚”等...

    js代码-扑克牌中的顺子-力扣61

    通过遍历数组并检查差值,我们能够判断输入的扑克牌数组是否能构成顺子。 这个解题过程涉及到了字符串处理、映射关系构建、数组排序、遍历检查等基本的JavaScript编程技巧,同时也体现了逻辑思维和问题解决能力。在...

    js利用appendChild对&lt;li&gt;标签进行排序的实现方法

    文章中还提到了sort方法的使用,它是JavaScript数组对象中用来对数组元素进行排序的一种方法。sort方法可以接受一个比较函数作为参数,用来定义元素间的排序方式。在本例中,比较函数通过解析数字字符串为整数,并...

Global site tag (gtag.js) - Google Analytics