首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我不知道键名,如何从另一个对象获取对象

如果你不知道键名,想要从另一个对象获取对象,可以使用以下方法:

  1. 使用for...in循环:通过遍历另一个对象的所有键,然后在目标对象中查找相同的键名,从而获取对应的值。示例代码如下:
代码语言:javascript
复制
function getObjectFromAnother(obj1, obj2) {
  for (let key in obj2) {
    if (obj1.hasOwnProperty(key)) {
      return obj1[key];
    }
  }
  return null; // 如果没有找到对应的键名,则返回null或者其他合适的值
}

const obj1 = { name: "Alice", age: 25 };
const obj2 = { id: 1, name: "Bob", age: 30 };

const result = getObjectFromAnother(obj1, obj2);
console.log(result); // 输出 "Bob"
  1. 使用Object.keys()方法:该方法返回一个包含对象所有键的数组,然后可以通过遍历数组,在目标对象中查找相同的键名,获取对应的值。示例代码如下:
代码语言:javascript
复制
function getObjectFromAnother(obj1, obj2) {
  const keys = Object.keys(obj2);
  for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    if (obj1.hasOwnProperty(key)) {
      return obj1[key];
    }
  }
  return null; // 如果没有找到对应的键名,则返回null或者其他合适的值
}

const obj1 = { name: "Alice", age: 25 };
const obj2 = { id: 1, name: "Bob", age: 30 };

const result = getObjectFromAnother(obj1, obj2);
console.log(result); // 输出 "Bob"
  1. 使用Object.entries()方法:该方法返回一个包含对象所有键值对的数组,可以通过遍历数组,在目标对象中查找相同的键名,获取对应的值。示例代码如下:
代码语言:javascript
复制
function getObjectFromAnother(obj1, obj2) {
  const entries = Object.entries(obj2);
  for (let i = 0; i < entries.length; i++) {
    const [key, value] = entries[i];
    if (obj1.hasOwnProperty(key)) {
      return obj1[key];
    }
  }
  return null; // 如果没有找到对应的键名,则返回null或者其他合适的值
}

const obj1 = { name: "Alice", age: 25 };
const obj2 = { id: 1, name: "Bob", age: 30 };

const result = getObjectFromAnother(obj1, obj2);
console.log(result); // 输出 "Bob"

以上是三种常见的方法,根据具体情况选择适合的方法来获取对象。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

打个赌你可能不知道如何获取Java泛型的Class对象

不过Java中的泛型也为人诟病,它会在编译中被全部转换成Object对象,也就是泛型擦除,这造成了诸多不便,除非你能获取泛型的一个实例,否则我们无法直接获取泛型的实际类型。...大致原理 虽然泛型会在字节码编译过程中被擦除,但是Class对象会通过java.lang.reflect.Type记录其实现的接口和继承的父类信息。...Class 用来描述类的Class对象。 ParameterizedType 用来描述参数化类型。...那么问题来了如何封装一个工具类? 封装工具类 我们可以借助于抽象类来定义一个获取java.lang.reflect.ParameterizedType的工具类。...> parent = child.getSuperclass(); // 如果父类是Object 就没戏了 if (Object.class == parent) {

18.1K41

浅析 Map 和 WeakMap 区别以及使用场景

在阅读红宝书时遇到了 WeakMap 这个关键字,第一次见感觉没啥用,是见识浅了,其实还是有点用的,有多大我不知道(快跑) 希望这一篇文章能让你对 Map 有更好的理解,或者能够帮你理解 Map...(data['[object HTMLDivElement]']); 在上面的代码中,我们创建了一个对象并将一个节点对象作为了它的键名,并进行了代码测试,首先验证了获取到的element节点为一个对象,...通过 get 来 dataMap 中获取键名对应的值 console.log(dataMap.get(element)); // 5....也就是说如果我们能这样创建一个弱引用的对象 //假设 let obj = new WeakObject() 我们就可以静静的等待垃圾车来把它拖走了,obj所引用的对象就会被回收 如果还没有理解的话,我们再来看看...而如果时强引用关系则引用计数为 1 ,不会被垃圾回收机制清除。 总的来说, WeakMap 保持了对键名所引用的对象的弱引用,即垃圾回收机制不将该引用考虑在内。

2.6K53

开发工具总结(6)之Android Studio模板配置详解(提高开发效率必备技能)

(2)v7或者v4后面的25.3.1是对应的版本号,比如你想用24的版本,你可以替换成你的sdk里面对应的版本号(不知道sdk版本号的可以查看 Android studio常用设置和快捷键)。...私有构造方法 //修改了快捷键名称 rgS 资源文件getString(R.string.XXX) rouiT 生成runOnUIThread sbc 生成方格状注释代码块 Sfmt 格式化...(); }//获取到了迭代器对象后,对迭代器进行遍历操作 forl 示例:遍历list对象里面的内容 //修改了快捷键名称 for (int i = 0; i < list.size(); i++)...forv 对Vector遍历 //修改了快捷键名称 (5)Other 其他的 geti 获取到当前的实例 示例: public static MainActivity getInstance(...} //修改了快捷键名称 toar 把collection的对象存储到一个数组里面 示例:something.toArray(new collection[something.size()]) (

1.3K20

Typescript常看常新

(就写给自己看看,不要太当回事哈哈哈 附上教程链接,看完你就是ts大神!!!写得超级详细,保证有很多你不知道的小细节。 函数 如果变量被赋值为一个函数,变量的类型有两种写法。...另一个需要注意的地方是,如果一个对象有两个引用,即两个变量对应同一个对象,其中一个变量是可写的,另一个变量是只读的,那么可写变量修改属性,会影响到只读变量。...keyof 运算符 keyof 是一个单目运算符,接受一个对象类型作为参数,返回该对象的所有键名组成的联合类型。 注意,是联合类型!...,所以对于任意对象键名的联合类型就是string|number|symbol。...Keys必须是对象键名Type里面已经存在的键名,否则会报错。

17410

Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响

编写过自定义Field的同学应该知道,Django中有以下两个概念: 如果不知道,可以参考一下这篇文档:https://docs.djangoproject.com/en/2.2/ref/models...那么,在JSONField中,lookup实际上是没有变的,但是transform“在外键表中查找”,变成了“在JSON对象中查找”,所以自然需要重写get_transform函数。...根据上面的分析可知,transform是生成SQL查询中“键名”的部分,那么如果我们控制了queryset查询的键名,即可注入任意SQL语句了。...但是如果你参与过pwnhub在2017年的一场比赛,应该记得当时构造了一种比较特殊的查询方法,ORM注入: ?...就是如果你能控制filter方法的参数名,就能通过外键的方式来获取其他表的一些敏感信息。

2K32

Java学习之EL与JSTL篇

大家好,又见面了,是全栈君,祝每个程序员都可以多学几门语言。 Java学习之EL与JSTL篇 0x00 前言 继续来更新Java的学习记录。...语法: ${表达式} jsp默认是支持el表达式的,如果要忽略表达式的作用,需要在jsp中page指令的isELIgnored为true。...str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0 获取值: EL表达式需要从域对象获取获取值语法: ${域名称.键名}:指定域中获取指定键的值 在这里来看看几个域名称都有哪些...,会依次最小的域里面去查找是否有对应的值。...获取集合的值: 获取对象、List集合、Map集合的值 1. 对象:${域名称.键名.属性名} 本质上会去调用对象的getter方法 2. List集合:${域名称.键名[索引]} 3.

22410

Git 项目推荐 | Go 语言读写 INI 文件工具包

开始使用 数据源加载 一个 数据源 可以是 []byte 类型的原始数据,或 string 类型的文件路径。您可以加载 任意多个 数据源。如果您传递其它类型的数据源,则会直接返回错误。...: section := cfg.Section("") 如果不小心判断错了,要获取的分区其实是不存在的,那会发生什么呢?...如果数据源中的键名为 - ,则认为该键使用了自增键名的特殊语法。...然而,如果不能还给我原来的配置文件,有什么卵用? 结构反射 可是,有说不能吗?...为什么要写另一个 INI 解析库? 许多人都在使用的 goconfig 来完成对 INI 文件的操作,但我希望使用更加 Go 风格的代码。

5.8K120

你知道什么是WeakSet 和 WeakMap吗?

这是参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情 对象开始说起 首先我们大家都熟悉的对象开始说起。 对于对象的使用,大家其实是非常熟悉的,所以我们这里仅简单的过一遍。...好的,我们已经快速讨论了有关对象的一些事项: 如何添加属性 如何遍历对象 如何删除属性 关于对象的讨论暂时就到这儿。 Map Map 是 JavaScript 中新的集合对象,其功能类似于对象。...如果 Map 对象中已经存在与新数据的键对应的值,则不会添加新数据。...比较总结 Map 键名唯一不可重复 类似于集合,键值对的集合,任何值都可以作为一个键或者一个值 可以遍历,可以转换各种数据格式,方法 get、set、has、delete WeakMap 只接受对象键名...,不接受其他类型的值作为键名,键值可以是任意 键名是拖引用,键名所指向的对象,会被垃圾回收机制回收 不能遍历,方法 get、set、has、delete Set 成员唯一,无序且不会重复 类似于数组集合

47320

【JS ES6】了解学习set类型和weakset类型

,会将键名转换成字符串,即使键名相同但不同类型,仍然会覆盖。...//对象对于类型不是很敏感 都会解析成字符串键名 let obj = { 1: 'xiaoixe', '1': 'xiaoixetongzhi' } console.log(obj);...//{ '1': 'xiaoixetongzhi' } //对象键名键名会直接转换成字符串 let obj = { 1: 'xiaoixe', '1': 'xiaoixetongzhi...true 引用类型的垃圾回收原理 let hd = { name: "小解同志" } //指向同一个引用地址 let obj = hd hd = null //给其中一个变量设置为空,不会影响另一个变量的使用...,set并不知道,它还是以为里面有东西,所以还是会显示,但内容已经没有了 //显示内容后 过段时间,它就会自动清空 console.log(set) setTimeout

51730

PHP常用函数大全

getNamespace() 函数获取在 xml 文档中使用的命名空间。 getName() 函数 SimplexmlElement 对象获取 xml 元素的名称。...getDocNamespaces() 函数 SimplexmlElement 对象返回在 xml 文档中声明的命名空间。 children() 函数获取指定节点的子节点。...attributes() 函数获取 Simplexml 元素的属性。 asxml() 函数以字符串的形式 SimplexmlElement 对象返回 xml 文档。...count() 函数计算数组中的单元数目或对象中的属性个数。 compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。...array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。

2.4K20

ES6入门之Set 和 Map

b.has(x))); // Set {1} 如果想在遍历操作中同步改变原理的Set结构,只能利用原有的Set结构映射一个新的结构,然后赋值给原来的Set,另一个就是通过 Array.from方法。...WeakSet WeakSet 结构与Set类似,也不是重复的值的集合,但是和Set有两个区别,第一个它的成员只能为对象另一个它的对象都是弱印象,即垃圾回收机制不考虑 WeakSet对该对象的引用,通俗的讲就是...如果我们扩展别人库的时候,如果使用对象最为键名,就不用担心自己的属性与原作者属性冲突。...Map 转为对象 如果Map的键都是字符串,它可以无损地转为对象如果有非字符串的键名,那么这个键名会被转成字符串,再作为对象键名。 4. 对象转为 Map 5....如果 我们想在某个对象上面存放以未数据,但是会形成对于这个对象的引用,如果我们不需要这两个对象,就必须手动删除,否则垃圾回收机制就不会释放占用的内存。

38810

Redis中的bigkey问题解读

如果在主节点上执行会阻塞节点。...bigKey如何删除如果一下子释放大量的内存,空闲内存块链表操作时间会增加,相应地就会造成Redis主线程阻塞,如果redis主线程发生了阻塞其他客户端的请求可能会超时,如果超时的连接越来越多会造成各自异常问题...它的语法与del命令类似:UNLINK key [key ...]其中,key是要删除的键名。可以指定多个键名,删除多个键。如果指定的键不存在,则会被忽略。...另一个线程将尽可能快地逐步释放后台中的对象。 FLUSHALL和 FLUSHDB 的 DEL、UNLINK 和 ASYNC 选项是用户控制的。这取决于应用程序的设计,以了解何时使用其中一个是个好主意。...具体而言,Redis 在以下场景中独立于用户调用删除对象。优化配置:我们可以将配置文件当中的这些参数设置为yes,也就是懒释放​正在参与 腾讯云开发者社区数据库专题有奖征文。

66871

PHP常用函数大全

getNamespace() 函数获取在 XML 文档中使用的命名空间。 getName() 函数 SimpleXMLElement 对象获取 XML 元素的名称。...getDocNamespaces() 函数 SimpleXMLElement 对象返回在 XML 文档中声明的命名空间。 children() 函数获取指定节点的子节点。...attributes() 函数获取 SimpleXML 元素的属性。 asXML() 函数以字符串的形式 SimpleXMLElement 对象返回 XML 文档。...count() 函数计算数组中的单元数目或对象中的属性个数。 compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。...array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。

14520

「 Map最佳实践」什么时候适合使用 Map 而不是 Object

== NaN 但是作为Map键名并无区别 testMap.get(NaN) //"是个NaN" testMap.get(Number('NaN')) //"是个NaN" 除了NaN比较特殊外,其他...「Map」的get方法都是通过对比键名是否相等(===)来获取,不相等则返回undefined 比较 Map 和 Object 定义 //Map const map = new Map(); map.set...{ [native code] } 如果操作不当没有正确遍历对象属性,可能会导致出现问题,产生你意料之外的 bug const countWords = (words) => { const counts...当插入顺序是你解决问题时需要考虑的,并且当前需要使用除 String 和 Symbol 以外的键名时,那么 「Map」 就是个最佳解决方案 如果需要遍历键值对(并且需要考虑顺序),那我觉得还是需要优先考虑...,但是也有相应的局限性: 键名接受类型只能用 String 或者 Symbol 自定义的键名容易与原型继承的属性键名冲突(例如 toString,constructor 等) 对象/正则无法用作键名 而这些问题通过

77731

JavaEE中的el 表达式以及JSTL详解

获取请求头数据 ${header} : 返回所有的请求头数据,键值对形式 ${header[“键名”]} :返回指定的键的请求头数据 ${headerValues[“键名”]}:获取请求头数据相关对象的值...获取Cookie数据 ${cookie} 获取所有的Cookie对象 键值对 ${cookie.Cookie对象键名}: 获取存储了指定Cookie数据的Cookie对象 ${cookie.Cookie...对象键名.name} :获取存储了指定Cookie数据的Cookie对象的存储的键 ${cookie.Cookie对象键名.value}:获取存储了指定Cookie数据的Cookie对象的存储的值...普通字符串数据: ${键名} 2、对象数据: ${键名.属性名} 集合数据 1、list集合: ${键名[角标]} 2、Map集合: ${map集合作用域存储的键名.map集合存储的数据的键名}...c:remove标签 格式: 作用:将数据指定的作用域中移除,默认是pageContext作用域,但是可以通过scope属性指明要删除的作用域数据

94830
领券