【发布时间】:2016-02-08 19:58:06
【问题描述】:
我需要一个函数:
function isSame(a, b){
}
其中,如果 a 和 b 相同,则返回 true。
,我试过return a === b,但是我发现[] === []会返回false。
我希望这个函数可以给出一些结果:
isSame(3.14, 3.14); // true
isSame("hello", "hello"); // true
isSame([], []); // true
isSame([1, 2], [1, 2]); // true
isSame({ a : 1, b : 2}, {a : 1, b : 2}); //true
isSame([1, {a:1}], [1, {a:1}]); //true
【问题讨论】:
-
你真的认为
isSame([1, 2], [2, 1]);是真的吗?数组是有序的。这些不一样。 -
@jtbandes 我忘了,谢谢
-
stackoverflow.com/questions/201183/… 请先google :)
-
@Pez:他可能想要一个自定义函数,而不仅仅是
return a === b; -
@wong2 - 如果 a 和 b 都引用同一个对象,您的 isSame() 是否返回 true,或者如果它们引用不同的对象但这些对象具有相同的编号,则返回 true具有相同属性名称和值的属性?原型也一样?这已在之前讨论过 - 参见,例如,stackoverflow.com/q/201183/615754
标签: javascript