使我的数组为零,并保持一些索引不变

问题描述 投票:0回答:2

我有一个数组'board_matrix',其中包含一些值。而且我还有另一个带有某些索引值的数组“ win”。现在,我要使'board_matrix'全部为零,除了'win'数组中的indices

say,

board_matrix = [1,0,2,2,1,0,1,0,1]
win = [0,4,8]

then output should be 
new_array = [1,0,0,0,1,0,0,0,1]
ios arrays filter swift5 xcode10
2个回答
0
投票

如果在win数组中找不到索引,则可以遍历board_matrix数组并覆盖值。像这样的东西:

for (i=0; i<board_matrix.size; i++) {
    if (!win.contains(i)) board_matrix[i] = 0;
}

0
投票
board_matrix.enumerated().map { [winIndices = Set(win)] in
  winIndices.contains($0.offset) ? $0.element : 0
}
© www.soinside.com 2019 - 2024. All rights reserved.