var hits = ["a", "b", "c"];
if (hits !== ["a", "b", "c"]){
//Do some stuff here
};

您可以使用数组的值作为比较吗?以上似乎对我不起作用我想知道这是否是这样的方法,或者是否有另一种方法来访问数组的文字值进行比较。
答案 0 :(得分:5)
相等运算符(===
和!==
)在对象的情况下比较引用,而不是值。请注意,在JavaScript数组中是对象。因为这是因为它们是两个不同的数组(它们看起来相同,它们包含相同的值,但它们不是相同的数组)它们的引用不同:
如果两个操作数都是对象,则JavaScript比较内部引用,当操作数引用内存中的同一对象时,它们是相等的。
您可以在MDN上了解更多相关信息。
注意: ==
和!=
相等运算符也会通过引用比较对象,但由于它们不仅仅是简单的比较(并且通常是意外的),因此通常建议不要使用它们并始终坚持严格的相等运算符(===
和!==
)。
至少有几种不同的方法。有些人建议比较两个阵列的JSON.stringify
但是,即使它适用于简单的情况,它在性能方面也不是一个好的解决方案。您可以在https://stackoverflow.com/a/14853974/704894
如果您碰巧使用某种实用程序库,例如lodash
或underscore
,则此功能已经存在!见https://lodash.com/docs#isEqual
答案 1 :(得分:0)
你可以写这个
f = open('C:myfile.csv', 'rb')
lines = f.readlines()
f.close()
filename = 'myfile.csv'
f = open(filename, 'wb')
for line in lines:
if line != "1":
f.write(line)
f.close()
答案 2 :(得分:0)
你不能这样做,因为Javascript处理数组的方式 - 它不是检查值是否相同,它检查对象是否是同一个对象(它不是)。