如何使用 Javascript 将迭代器索引号附加到数组中的每个项目

How to append an iterator index number to each item within an array with Javascript?

本文关键字:数组 项目 Javascript 何使用 迭代器 索引      更新时间:2023-09-26

如何将一个名为"索引"的键附加到下面的数组中,其值是字典索引?在此之前,数组应按时间戳排序,以便时间戳:111 排在第一位,时间戳:222 排在第二位,依此类推。

例如,请参阅下面的原始数组

items = [
            {Id: "01", Name: "A", Price: "1.00", Quantity: "1",TimeStamp:111},
            {Id: "02", Name: "B", Price: "10.00", Quantity: "1",TimeStamp:222},
            {Id: "04", Name: "C", Price: "9.50", Quantity: "10",TimeStamp:434},
            {Id: "03", Name: "a", Price: "9.00", Quantity: "2",TimeStamp:545},
            {Id: "06", Name: "b", Price: "100.00", Quantity: "2",TimeStamp:676},
            {Id: "05",Name: "c", Price: "1.20", Quantity: "2",TimeStamp:777}
        ];

生成的数组应如下所示:

items = [
    {Id: "01", Name: "A", Price: "1.00", Quantity: "1",TimeStamp:111,Index:1},
            {Id: "02", Name: "B", Price: "10.00", Quantity: "1",TimeStamp:222,Index:2},
            {Id: "04", Name: "C", Price: "9.50", Quantity: "10",TimeStamp:434,Index:3},
            {Id: "03", Name: "a", Price: "9.00", Quantity: "2",TimeStamp:545,Index:4},
            {Id: "06", Name: "b", Price: "100.00", Quantity: "2",TimeStamp:676,Index:5},
            {Id: "05",Name: "c", Price: "1.20", Quantity: "2",TimeStamp:777,Index:6}
        ];

这是我的尝试:http://jsfiddle.net/chrisguzman/f7dnfrjf/我已经弄清楚如何将一个项目附加到每个字典,但不知道如何附加其各自的迭代器。

另外,这里是角度js(如果有办法用角度做到这一点,则加分): http://codepen.io/chriscruz/pen/GgjGvO?editors=101

索引从 0 开始,因此您需要为每个索引添加 +1,如下所示

items.forEach(function (d, index) {
    d.Index = index + 1;
});

演示:http://jsfiddle.net/f7dnfrjf/1/

角度演示:

  1. http://codepen.io/pen/ZYpRag - 索引显示为 2、3、5、6

  2. http://codepen.io/pen/zxKapG - 索引显示为 1、2、3、4

运行时系统将 3 个参数传递给 .forEach():第一个是数组元素,第二个是索引,第三个是数组本身。

因此:

items.forEach(function (d, i) {
    d.Index = i;
});