将第一个对象推送到javascript数组中,使所有其他值保持不变

时间:2013-11-13 10:19:00

标签: javascript arrays

我有以下JavaScript数组:

 var days = [
            {
                "day": "sunday",
                "morning": "geschlossen",
            },
            {
                "day": "monday",
                "morning": "geschlossen",
            },
            {
                "day": "tuesday",
                "morning": "geschlossen",
            },
            {
                "day": "wenesday",
                "morning": "geschlossen",
            },
            {
                "day": "thursday",
                "morning": "16:30 - 19:00 Uhr",
            },
            {
                "day": "friday",
                "morning": "09:00 - 18:00 Uhr",
            },
            {
                "day": "saturday",
                "morning": "geschlossen",
            }
        ];

如何更改数组中的0th index object到最后一个值?

所以我期望的数组将是这样的:

 var days = [               
            {
                "day": "monday",
                "morning": "geschlossen",
            },
            {
                "day": "tuesday",
                "morning": "geschlossen",
            },
            {
                "day": "wenesday",
                "morning": "geschlossen",
            },
            {
                "day": "thursday",
                "morning": "16:30 - 19:00 Uhr",
            },
            {
                "day": "friday",
                "morning": "09:00 - 18:00 Uhr",
            },
            {
                "day": "saturday",
                "morning": "geschlossen",
            }, 
            {
                "day": "sunday",
                "morning": "geschlossen",
            }
        ];

我玩拼接和流行音乐,但没有任何意图。

4 个答案:

答案 0 :(得分:6)

您需要从数组的开头删除元素。 Array#shift这样做。然后,您需要将该元素添加到数组的末尾。 Array#push这样做。由于shift返回已移位的元素,因此您可以在一次调用中执行此操作:

days.push(days.shift());

影响数组的第一个和最后一个元素的关键函数是:

  • shift:从数组的开头删除一个元素
  • unshift:在数组的开头添加一个元素
  • pop:从数组末尾删除一个元素
  • push:在数组末尾添加一个元素

答案 1 :(得分:6)

使用javascript shiftpush功能 push函数在最后添加元素,shift函数删除并返回第一个元素

days.push(days.shift());

答案 2 :(得分:5)

这个怎么样:

days.unshift(days.pop())

在编辑后编辑:

days.push(days.shift())

答案 3 :(得分:3)

试试(未经测试)

var days= [
            {
                "day": "sunday",
                "morning": "geschlossen"
            },
            {
                "day": "monday",
                "morning": "geschlossen"
            },
            {
                "day": "tuesday",
                "morning": "geschlossen"
            },
            {
                "day": "wenesday",
                "morning": "geschlossen"
            },
            {
                "day": "thursday",
                "morning": "16:30 - 19:00 Uhr"
            },
            {
                "day": "friday",
                "morning": "09:00 - 18:00 Uhr"
            },
            {
                "day": "saturday",
                "morning": "geschlossen"
            }
        ];


var first = days[0];
days.shift();
days.push(first);
console.log(days);