Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换为每列提供映射对象的多列中多行中的值_Javascript_Dexie - Fatal编程技术网

Javascript 替换为每列提供映射对象的多列中多行中的值

Javascript 替换为每列提供映射对象的多列中多行中的值,javascript,dexie,Javascript,Dexie,在下表中,我需要使用以下对象替换名称和类列中的值 +----------------+ | id name class | +----------------+ | 1 a x | | 2 b y | | 3 a z | +----------------+ name { a: "John", b: "Jill" } class { x: "Maths", y: "Science", z: "A

在下表中,我需要使用以下对象替换名称和类列中的值

+----------------+
| id name  class |
+----------------+
| 1   a     x    |
| 2   b     y    |
| 3   a     z    |
+----------------+

name 
{
    a: "John",
    b: "Jill"
}

class
{
    x: "Maths",
    y: "Science",
    z: "Arts"
}
最终表格应如下所示:

+----------------------+
|    id name  class    |
+----------------------+
| 1   John     Maths   |
| 2   Jill     Science |
| 3   John     Arts    |
+----------------------+

在dexie.js中实现这一点的有效方法是什么?

您需要扫描整个表并逐个替换行

var map = {
  "name": {
    "a": "John",
    "b": "Jill"
  },
  "class": {
    "x": "Maths",
    "y": "Science",
    "z": "Arts"
  }
};

var db = new Dexie('yourdbname');
db.version(1).stores({
  yourTable: 'id'
});

db.yourTable.toCollection().modify(row => 
  Object.keys(map).forEach(column => row[column] = map[column][row[column]]));