如何用Swift中另一个数组中的元素替换数组?

时间:2015-05-27 10:04:25

标签: arrays swift

我有第一个数组:["0", "0", "0", "0", "0", "0", "0"]

和第二个数组:["1", "0", "1", "1"]

现在我需要用第二个数组中的元素替换第一个数组 结果应为:["1", "0", "1", "1", "0", "0", "0"]

4 个答案:

答案 0 :(得分:5)

尝试:

var array1 = ["0", "0", "0", "0", "0", "0", "0"]
let array2 = ["1", "0", "1", "1"]

array1[0..<array2.count] = array2[0..<array2.count]
println(array1)

答案 1 :(得分:4)

您可以使用enumerate函数在循环时获取索引:

var arr1 = ["0", "0", "0", "0", "0", "0", "0"]
let arr2 = ["1", "0", "1", "1"]

for (index, value) in enumerate(arr2) {
    arr1[index] = value
}

arr1 // ["1", "0", "1", "1", "0", "0", "0"]

答案 2 :(得分:3)

你可以这样做:

var array1 = ["0", "0", "0", "0", "0", "0", "0"];
var array2 = ["1", "0", "1", "1"];

array1.replaceRange(Range(start:0, end:array2.count), with: array2)

NSLog("\(array1)");
  

[1,0,1,1,0,0,0]

答案 3 :(得分:2)

你可以试试这个:

var arr = [1,2,3,4,5,6,7,8,9,10]
var arr2 = [6,7,8,9,10]
arr[0...arr2.count-1] = arr2[0...arr2.count-1]

println(arr)   // prints "[6, 7, 8, 9, 10, 6, 7, 8, 9, 10]"

arr [i ... j]为您提供第i个和第j个元素之间的范围(包括),因此您可以直接更改数组的特定部分。