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

从包含特定字符串作为Javascript子字符串的对象中拾取键

从包含特定字符串作为Javascript子字符串的对象中拾取键,javascript,json,object,lodash,Javascript,Json,Object,Lodash,我有一个数组,如: var arr = ["hello","world"] // This array can contain any number of strings 像这样的对象: var obj_arr = { "abc-hello-1": 20, "def-world-2": 30, "lmn-lo-3": 4 } 我想要一个只包含那些键的对象,它包含上面的数组值作为子字符串。 例如: 结果如下所示: var result = { "abc-hello-1": 2

我有一个数组,如:

var arr = ["hello","world"] 
// This array can contain any number of strings
像这样的对象:

var obj_arr = {
  "abc-hello-1": 20,
  "def-world-2": 30,
  "lmn-lo-3": 4
}
我想要一个只包含那些键的对象,它包含上面的数组值作为子字符串。 例如:

结果如下所示:

var result = {
  "abc-hello-1": 20,
  "def-world-2": 30,
}
我想这样做(使用lodash):


仅使用javascript,您就可以使用array
forEach
&Object.Keys函数实现这一点

var arr=[“你好”,“世界”]
var obj_arr={
“abc-hello-1”:20,
“def-world-2”:30,
“lmn-lo-3”:4
}
var resultObj={};
//从对象获取所有关键点
var getAllKeys=Object.keys(obj_arr);
arr.forEach(功能(项目){
//循环通过第一个对象
forEach(函数(keyName){
//使用的索引检查对象键名称是否具有匹配的字符串
if(keyName.indexOf(项)!=-1){
resultObj[keyName]=obj_arr[keyName];
}
})
})

console.log(resultObj)
仅使用javascript您可以使用array
forEach
和Object.Keys函数实现此功能

var arr=[“你好”,“世界”]
var obj_arr={
“abc-hello-1”:20,
“def-world-2”:30,
“lmn-lo-3”:4
}
var resultObj={};
//从对象获取所有关键点
var getAllKeys=Object.keys(obj_arr);
arr.forEach(功能(项目){
//循环通过第一个对象
forEach(函数(keyName){
//使用的索引检查对象键名称是否具有匹配的字符串
if(keyName.indexOf(项)!=-1){
resultObj[keyName]=obj_arr[keyName];
}
})
})
log(resultObj)
使用lodash可以迭代字符串数组,并检查键是否包含任何字符串

const arr=[“你好”,“世界”]
常量timestampObj={
“abc-hello-1”:20,
“def-world-2”:30,
“lmn-lo-3”:4
}
要集成的常量=u.pickBy(timestampObj,(值,键)=>
_.some(arr,str=>uu.includes(key,str))
);
控制台日志(要集成)
使用lodash,可以迭代字符串数组,并检查键是否包含任何字符串

const arr=[“你好”,“世界”]
常量timestampObj={
“abc-hello-1”:20,
“def-world-2”:30,
“lmn-lo-3”:4
}
要集成的常量=u.pickBy(timestampObj,(值,键)=>
_.some(arr,str=>uu.includes(key,str))
);
控制台日志(要集成)
试试这段代码

var result = _.map(arr, function(s){
  return _.pickBy(timestampObj, function(v, k){
    return new RegExp(s,"gi").test(k)
  })
})
试试这个代码

var result = _.map(arr, function(s){
  return _.pickBy(timestampObj, function(v, k){
    return new RegExp(s,"gi").test(k)
  })
})