共享同一数组实例的变量 - Javascript 类似于数组
Variables sharing the same array instance - Javascript like array
在 Javascript 中,当您这样做时:
var a = [1, 2];
var b = a;
b.push(3);
console.log(a); //Print [1, 2, 3]
a 和 b 共享同一个数组实例。
我正在 Swift
中寻找实现此目的的方法
这是我的 Swift 代码:
var array1 = [[1], [2], [3]];
var array2 = array1[0];
array2.append(0);
print(array1);
//print [[1], [2], [3]]
//I want [[1, 0], [2], [3]]
array1[0] & array2 是两个不同的实例...
我想要两个变量(具有不同的名称)指向同一个数组实例。
您必须将值类型包装到引用类型中,即 class。
class wrapper {
var array = [1,2]
}
var a = wrapper()
var b = a
b.array.append(3)
print(a.array) // [1,2,3]
阅读你也可以使用NSMutableArray
var c : NSMutableArray = [1,2]
var d = c
d.insert(3, at: 2)
print(c) //"(\n 1,\n 2,\n 3\n)\n"
在 Javascript 中,当您这样做时:
var a = [1, 2];
var b = a;
b.push(3);
console.log(a); //Print [1, 2, 3]
a 和 b 共享同一个数组实例。 我正在 Swift
中寻找实现此目的的方法这是我的 Swift 代码:
var array1 = [[1], [2], [3]];
var array2 = array1[0];
array2.append(0);
print(array1);
//print [[1], [2], [3]]
//I want [[1, 0], [2], [3]]
array1[0] & array2 是两个不同的实例... 我想要两个变量(具有不同的名称)指向同一个数组实例。
您必须将值类型包装到引用类型中,即 class。
class wrapper {
var array = [1,2]
}
var a = wrapper()
var b = a
b.array.append(3)
print(a.array) // [1,2,3]
阅读
var c : NSMutableArray = [1,2]
var d = c
d.insert(3, at: 2)
print(c) //"(\n 1,\n 2,\n 3\n)\n"