Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 - Fatal编程技术网

按名称对javascript对象中的属性进行分组和提取

按名称对javascript对象中的属性进行分组和提取,javascript,Javascript,从上面的对象中,如何根据属性的名称对属性进行分组和提取?我试图获取所有以data_u开头的名称,然后将它们加载到一个新对象中,然后对以user开头的名称执行相同的操作_ 执行此操作的好方法是什么?您可以使用 obj = { data_a: 'a', data_b: 'b', user_a: 'a', user_b: 'b' // and many more }; 这将返回一个包含所有键的数组,您可以根据自己的喜好对其进行排序和使用。您可以通过以下步骤完成此操作: 使用ob

从上面的对象中,如何根据属性的名称对属性进行分组和提取?我试图获取所有以data_u开头的名称,然后将它们加载到一个新对象中,然后对以user开头的名称执行相同的操作_


执行此操作的好方法是什么?

您可以使用

obj = {
  data_a: 'a',
  data_b: 'b',
  user_a: 'a',
  user_b: 'b'
  // and many more
};

这将返回一个包含所有键的数组,您可以根据自己的喜好对其进行排序和使用。

您可以通过以下步骤完成此操作:

  • 使用
    object.entries()
  • 在其上使用
    filter()
    ,并获取所有
    key
    以所需子字符串开头的条目
  • 使用
    Object.fromEntries()
    将条目转换回Object
这是密码

const obj={
数据_a:‘a’,
数据_b:'b',
用户_a:'a',
用户_b:'b'
};
常量filterByKey=(obj,string)=>Object.fromEntries(Object.entries(obj.filter)([k,v])=>k.startsWith(string)))
日志(filterByKey(obj,“数据”));

console.log(filterByKey(obj,“user”))
您可以迭代对象,获取密钥,并使用
indexOf
函数将其分类如下:

obj={
数据_a:‘a’,
数据_b:'b',
用户_a:'a',
用户_b:'b'
};
让数据_obj={},用户_obj={};
for(obj中的var键){
if(对象hasOwnProperty(键)){
if(key.indexOf('data'')==0)
数据_obj[key]=obj[key];
else if(key.indexOf('user')==0)
用户_obj[key]=obj[key];
}
}
控制台日志(数据对象);

控制台日志(用户对象)您可以将
用于。。。在
中,迭代对象的键,然后将它们及其值分组到新对象中:

const obj={
数据_a:‘a’,
数据_b:'b',
用户_a:'a',
用户_b:'b'
};
const users={};
常量数据={};
用于(对象中的常数k){
if(对象hasOwnProperty(k)){
如果(k.startsWith(“用户”)){
用户[k]=obj[k];
}else if(k.startsWith(“数据”)){
数据[k]=对象[k];
}
}
}
console.log(用户);

控制台日志(数据)首先,您不应该有这样的数据结构。
Object.keys(obj)