关于#javascript#的问题:

num是总体的数据,b,c是分数据

如果b数组中的对象里面有num中的某一项,则把这一项从num中拿出来放到b中
如果c数组中的对象里面有num中的某几项,则把这几项从num中拿出来放到c中


 var num = [{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}];
 var b = []
    // var b = [{a:1},{a:1},{a:1}];
 var c =[]
   // var c = [{a:1,b:2},{a:1,b:2},{a:1,b:2}]

var num = [{a: 1, b: 2, c: 3}, {a: 1, b: 2, c: 3}, {a: 1, b: 2, c: 3}];
// 比如b中用到了a属性
var b = []
var result_b = [{a: 1}, {a: 1}, {a: 1}]
//c中用到了b,c属性
var c = []
var result_c = [{b: 2, c: 3}, {b: 2, c: 3}, {b: 2, c: 3}]


function selectField(data, fields) {
    return data.map(item => fields.reduce((t, i) => {
        if (item[i] != null && item[i] != undefined) {
            t[i] = item[i]
        }
        return t
    }, {})).filter(item => Object.keys(item).length != 0)
}

console.log(selectField(num, ['a']))
console.log(selectField(num, ['b', 'c']))

那你现在遇到的问题是什么?
只要你说清楚了问题,那就可以好好解决你的问题

这个比较简单,我给你封装了一个函数,你只需要传入两个参数,一个需要从数据中取出哪些属性组成的数组,一个是数据源,就可以输出一个你想要数据给你,亲测可以,有用的话,麻烦采纳一下哦,有任何问题欢迎询问

 var num = [{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}];

function getProp(key, data) {
                    let result = [];
                    //key 参数例子,你需要从数据中取出哪几项属性,例如我这里需要取出a和c这两个属性,key就传['a','c'];
                    data.forEach((dataItem) => {
                        let pushItem={};
                        key.forEach((keyItem) => {
                            if (keyItem in dataItem) {
                                pushItem[keyItem]=dataItem[keyItem]
                            }
                        });
                        result.push(pushItem);
                    });
                    return result
                }
//调用举例,如果你想要从中取出只有a和c的值,就这样调用
let result =getProp(['a','c'],num);
console.log('result',result);

javascript也有map,通过虚幻数组,然后把key-value放到map中,最后输出就可以了吧