JavaScript - 如何拼接多维数组?

标签 javascript arrays multidimensional-array

如何使用 del 函数从数据库中删除“test1”?

var db = [];
function add(input) {
  for(var key in db) {
    if(db[key][0]===input[0]) {
      return;
    }
  }
  db[db.length] = input;
}

function edit(input, upgrade) {
  for(var key in db) {
    if(db[key][0]===input) {
      db[key] = upgrade;
    }
  }
}

function del(input) {
  var index = db.indexOf(input);
  if (index !== -1) {
    db.splice(index, 1);
  }
}

add(['test1', 'online']);
console.log(db);

edit('test1', ['test1','offline']);
console.log(db);

del('test1'); // FAILED still shows old values
console.log(db);

最佳答案

实际问题不在于splice,而是在于indexOf。仅当正在搜索的项目与数组中的对象相同时,它才会返回该项目的索引。所以,你必须推出自己的搜索功能,就像这样

function del(input) {
    var i;
    for (i = 0; i < db.length; i += 1) {
        if (db[i][0] === input) {
            db.splice(i, 1);
            return;
        }
    }
}

注意: Never iterate an array with for..in 。使用普通的 for 循环。

关于JavaScript - 如何拼接多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200300/

相关文章:

javascript - 在 CRM 2011 Javascript 中设置和获取注释字段

arrays - 在 typescript 中声明数组索引

php - 获取聊天数据并按接收者和发送者 ID 排序

python - 我对 __add__ 格式有疑问 < ndarray> + <my object>

arrays - 在cuda GPU cudamalloc中将3D数组转换为1D

javascript - 为什么未定义的行为与其他变量不同?

Javascript:有什么比我现在使用的更好的将数组拼接在一起的方法?

arrays - Swift:删除文档字段Firestore(云数据库)内字典中的元素

python - 列表列表 vs 字典

javascript - 如何制作一个JS确认下面的离开页面功能