请问点击push两个数值进数组,然后再点击移除数值这样的功能如何实现。

在vue中遍历一个二维数组矩阵:
然后点击其中一个就会获取对应x,y轴的值,
clipboard.png

clipboard.png
然后选中的区域会变白;再点击恢复之前的颜色,并移除push的数组,这样的应该如何实现啊,小妹不才,只能push进数组,

clipboard.png

请问如何再次点击移除相应的push值。

阅读 2.5k
1 个回答

用二维数组的方式来解决啊,二维数组的x和y决定位置,值1和0决定是否变白

参考代码:

const data = [{ x: 1, y: 1 }, { x: 0, y: 1 }] // 初始化时就是白的数据
const arr = []  // 二维数组
// 初始化二维数组
const init = (arr, data) => {
  data.forEach((item) => {
    if (!arr[item.x]) {
      arr[item.x] = []
    }
    arr[item.x][item.y] = 1
  })
}
// 变白
const setWhite = (arr, x, y) => {
  arr[x][y] = 1
}
// 查看某位置是否白色
const getWhite = (arr, x, y) => {
  if (!arr[x]) {
    return false
  } else {
    return !!arr[x][y]
  }
}
init(arr, data)
setWhite(arr, 2, 2)
getWhite(2, 2) 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏