将某些数据从一个对象抓取到另一个对象
Grabbing certain data from one object to another object
我的目标是从数据库中获取某些值到 curated_database,但是我基本上坚持将多个项目添加到一个对象中。
var curated_database = {};
var database = {
0: [{name: 'Micheal'},
{age: 45},
{education: 'BA'},
{income: 245000},
{occupation: 'director'}],
1: [{name: 'John'},
{age: 23},
{education: 'BA'},
{income: 60000},
{occupation: 'manager'}],
2: [{name: 'Judith'},
{age: 45},
{education: 'PhD'},
{income: 140000},
{occupation: 'professor'}],
3: [{name: 'Gill'},
{age: 28},
{education: 'MS'},
{income: 98000},
{occupation: 'scientist'}],
4: [{name: 'Dave'},
{age: 17},
{education: 'HS'},
{income: 30000},
{occupation: 'retail associate'}]
};
目标是从较大的对象中抓取相似的某些信息
curated_database = {
0 : ['Micheal',245000,'director'],
1: ['John',245000,'manager'],
2: ['Judith',140000,'professor'],
3: ['Gill',98000,'scientist'],
4: ['Dave',30000,'retail associate']
};
我的尝试
for(data in database){
desired_contents = [0,3,4]
for(contents in desired_contents){
console.log(database[data][desired_contents[contents]]);
}
var k = database[data][0];
if (!currated_database[k.key]) {
currated_database[k.key] = [];
}
currated_database[k.key].push(k.val);
}
你可以这样实现:
var curated_database = {};
var database = {
0: [{name: 'Micheal'},
{age: 45},
{education: 'BA'},
{income: 245000},
{occupation: 'director'}],
1: [{name: 'John'},
{age: 23},
{education: 'BA'},
{income: 60000},
{occupation: 'manager'}],
2: [{name: 'Judith'},
{age: 45},
{education: 'PhD'},
{income: 140000},
{occupation: 'professor'}],
3: [{name: 'Gill'},
{age: 28},
{education: 'MS'},
{income: 98000},
{occupation: 'scientist'}],
4: [{name: 'Dave'},
{age: 17},
{education: 'HS'},
{income: 30000},
{occupation: 'retail associate'}]
};
var indexToExtract = new Set([0,3,4]);
var wantedLst = Object.values(database)
.map(lst => lst.filter((ob, idx) => indexToExtract.has(idx)))
.map((lst, idx) => curated_database[idx] = lst.map(ob => Object.values(ob)[0]))
console.log(curated_database);
我的目标是从数据库中获取某些值到 curated_database,但是我基本上坚持将多个项目添加到一个对象中。
var curated_database = {};
var database = {
0: [{name: 'Micheal'},
{age: 45},
{education: 'BA'},
{income: 245000},
{occupation: 'director'}],
1: [{name: 'John'},
{age: 23},
{education: 'BA'},
{income: 60000},
{occupation: 'manager'}],
2: [{name: 'Judith'},
{age: 45},
{education: 'PhD'},
{income: 140000},
{occupation: 'professor'}],
3: [{name: 'Gill'},
{age: 28},
{education: 'MS'},
{income: 98000},
{occupation: 'scientist'}],
4: [{name: 'Dave'},
{age: 17},
{education: 'HS'},
{income: 30000},
{occupation: 'retail associate'}]
};
目标是从较大的对象中抓取相似的某些信息
curated_database = {
0 : ['Micheal',245000,'director'],
1: ['John',245000,'manager'],
2: ['Judith',140000,'professor'],
3: ['Gill',98000,'scientist'],
4: ['Dave',30000,'retail associate']
};
我的尝试
for(data in database){
desired_contents = [0,3,4]
for(contents in desired_contents){
console.log(database[data][desired_contents[contents]]);
}
var k = database[data][0];
if (!currated_database[k.key]) {
currated_database[k.key] = [];
}
currated_database[k.key].push(k.val);
}
你可以这样实现:
var curated_database = {};
var database = {
0: [{name: 'Micheal'},
{age: 45},
{education: 'BA'},
{income: 245000},
{occupation: 'director'}],
1: [{name: 'John'},
{age: 23},
{education: 'BA'},
{income: 60000},
{occupation: 'manager'}],
2: [{name: 'Judith'},
{age: 45},
{education: 'PhD'},
{income: 140000},
{occupation: 'professor'}],
3: [{name: 'Gill'},
{age: 28},
{education: 'MS'},
{income: 98000},
{occupation: 'scientist'}],
4: [{name: 'Dave'},
{age: 17},
{education: 'HS'},
{income: 30000},
{occupation: 'retail associate'}]
};
var indexToExtract = new Set([0,3,4]);
var wantedLst = Object.values(database)
.map(lst => lst.filter((ob, idx) => indexToExtract.has(idx)))
.map((lst, idx) => curated_database[idx] = lst.map(ob => Object.values(ob)[0]))
console.log(curated_database);