function find(list, elem) { for (let i = 0; i < list.length; i++) { let flag = true; let current = list[i]; for (key in current) { if (elem[key] !== current[key]) { flag = false; break; } } if (flag) { return i; } } return -1; } console.log(find(cities, city));
注意:这里对象相等的依据不是引用指向的是同一块内存,而仅仅要求二者的数值相等就能够。code