首页 > 解决方案 > Javascript - 为什么可以对数组中的对象使用包含方法?

问题描述

const obj1 = { name: "kim", age: 14 };
const obj2 = { name: "Steve", age: 20};
const arr  = [ obj1, obj2];

arr[0]["name"].includes("han"); // true

所以这是我很好奇的代码。
我认为includes()方法是针对数组的,而不是针对对象的。
但在这种情况下,arr 是数组但是arr[0]对象。也是arr[0]["name"]对象的属性,那么为什么可以在此代码上使用包含方法?
如果有人告诉我我知道的错误,我将不胜感激

标签: javascriptarraysobject

解决方案


您可以includes数组字符串上使用。

根据您的说法,代码includes没有给出true,因为它不适用于对象。相反,您在字符串上使用它。

当你安慰

arr[0]["name"]   // kim

您的代码正在检查的是是否han是子字符串kim。我们知道它不是这样它会输出false

const obj1 = { name: "kim", age: 14 };
const obj2 = { name: "Steve", age: 20 };
const arr = [obj1, obj2];

console.log(arr[0]["name"]);
console.log(arr[0]["name"].includes("m"));


推荐阅读