排序javascript数组foreach

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序javascript数组foreach相关的知识,希望对你有一定的参考价值。

我是编程新手。有人可以解释这个函数如何排序整数数组?它似乎是对数组进行排序。在这里创建数组“d”的目的是什么?

function asc(f) {

  var d = [];
  f.map(function(e, i, a) {
    d[i] = e
  })
  var k = [];
  f.forEach(function(e, i, a) {
    var g = d.indexOf(Math.min.apply(null, d))
    var s = d.splice(g, 1)
    k[i] = s
  })

  document.write(k)
}
asc([3, 4, 1, 2, -3, 20, 10, 22, 7, 5, 7, 8, 200, 6])
答案

数组d是原始数组的精确副本。代码使用此副本,因为故意删除每个itteration上的最小元素并将其存储在新的k数组中,该数组是最终排序的数组。我在代码中做了一些注释,向您展示每行的功能。

function asc(f) {
  //f is the original array
  var d = [];
  f.map(function(e, i, a) {
    d[i] = e
  })// create d as an exact copy of f
  
  var k = []; // the final sorted array
  f.forEach(function(e, i, a) {
    var g = d.indexOf(Math.min.apply(null, d)) // get the position of the minimum element of d
    var s = d.splice(g, 1) // remove the minimum element from d and store it in s
    k[i] = s // put s in the k array
  })

  document.write(k) // write the sorted array in document
}
asc([3, 4, 1, 2, -3, 20, 10, 22, 7, 5, 7, 8, 200, 6])

以上是关于排序javascript数组foreach的主要内容,如果未能解决你的问题,请参考以下文章

javascript常用代码片段

Javascript - 为每个数组值设置间隔。设置间隔,数组,foreach

数组排序

javascript学习系列:数组中的foreach方法

如何将此 JavaScript 代码片段翻译成 Parenscript?

JavaScript单行代码,也就是代码片段