从包含特定字符串作为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您可以使用arrayforEach
和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)
})
})