如何在javascript中以数组的形式移动所需格式的数据?

时间:2018-04-08 22:27:48

标签: javascript

var array = [-3,0,0, 1,55,56,232]

期望的输出

array = [56,-3,0,0,1,232,55]

我在获得所需的输出时遇到困难。我知道这是一个简单的问题,但我已经尝试过但没有成功。请帮忙

我试过这样: -

  array.unshift(array.splice(5, 1)[0]);
  array.unshift(array.splice(4, 1)[0]);

3 个答案:

答案 0 :(得分:2)

如何(利用ES6):

array = [array[5], ...array.slice(0,4), array[6], array[4]]

答案 1 :(得分:1)

您希望第二次使​​用55代替splice,因为您希望将unshift移动到数组的末尾。此外,在您第一次555后,56的索引变为let array = [-3, 0, 0, 1, 55, 56, 232]; array.unshift(array.splice(5, 1)[0]); array.push(array.splice(5, 1)[0]); console.log(array);,因为您将didFinishLaunchingWithOptions移至开头。



func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        FirebaseApp.configure()


        if #available(iOS 10.0, *) {
            // For iOS 10 display notification (sent via APNS)
            UNUserNotificationCenter.current().delegate = self

            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
            UNUserNotificationCenter.current().requestAuthorization(
                options: authOptions,
                completionHandler: {_, _ in })
        } else {
            let settings: UIUserNotificationSettings =
                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            application.registerUserNotificationSettings(settings)
        }

        application.registerForRemoteNotifications()


        return true
    }




答案 2 :(得分:1)

也许不是最优雅的解决方案,但这是实现这一目标的一种方式。 unshift()行是相同的,其中第六个元素开始。接下来,抓住最后一个元素并将其插入第五个位置。最后,删除了数组中新的最后一个元素。

let array = [-3, 0, 0, 1, 55, 56, 232]

array.unshift(array.splice(5, 1)[0]);
array.splice(array[array.length - 1], 0, array[array.length - 1]);
array.pop();

console.log(array);