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]);
答案 0 :(得分:2)
如何(利用ES6):
array = [array[5], ...array.slice(0,4), array[6], array[4]]
答案 1 :(得分:1)
您希望第二次使用55
代替splice
,因为您希望将unshift
移动到数组的末尾。此外,在您第一次55
和5
后,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);