相关疑难解决方法(0)

如何在JavaScript中比较数组?

我想比较两个阵列......理想情况下,有效率.没有什么花哨的,只要true它们是相同的,false如果不相同的话.毫不奇怪,比较运算符似乎不起作用.

var a1 = [1,2,3];
var a2 = [1,2,3];
console.log(a1==a2);    // Returns false
console.log(JSON.stringify(a1)==JSON.stringify(a2));    // Returns true
Run Code Online (Sandbox Code Playgroud)

每个数组的JSON编码都有,但有没有更快或更"简单"的方法来简单地比较数组而不必迭代每个值?

javascript arrays json

894
推荐指数
24
解决办法
81万
查看次数

如何检查两个数组是否与JavaScript相同?

var a = [1, 2, 3];
var b = [3, 2, 1];
var c = new Array(1, 2, 3);

alert(a == b + "|" + b == c);
Run Code Online (Sandbox Code Playgroud)

演示

如何检查这些数组是否相等并获得一个方法,true如果它们相等则返回?

jQuery是否提供任何方法?

javascript

225
推荐指数
9
解决办法
27万
查看次数

如何为JavaScript Set自定义对象相等性

新的ES 6(Harmony)引入了新的Set对象.Set使用的身份算法类似于===运算符,因此不太适合比较对象:

var set = new Set();
set.add({a:1});
set.add({a:1});
console.log([...set.values()]); // Array [ Object, Object ]
Run Code Online (Sandbox Code Playgroud)

如何自定义Set对象的相等性以进行深层对象比较?有没有像Java这样的东西equals(Object)

javascript set ecmascript-harmony

142
推荐指数
5
解决办法
3万
查看次数

如何使用Javascript比较两个数组是否相等?

我希望数组的位置也相同,值也相同.

var array1 = [4,8,9,10];
var array2 = [4,8,9,10];
Run Code Online (Sandbox Code Playgroud)

我试过这样的

var array3 = array1 === array2   // returns false
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery

41
推荐指数
5
解决办法
13万
查看次数

为什么两个相同的物体彼此不相等?

看起来像下面的代码应该返回一个true,但它返回false.

var a = {};
var b = {};

console.log(a==b); //returns false
console.log(a===b); //returns false
Run Code Online (Sandbox Code Playgroud)

这有什么意义?

javascript

39
推荐指数
4
解决办法
2万
查看次数

空数组在Javascript中不等于自己?

我所遇到的情况下 [] == []false在Javascript.

有人可以解释原因吗?

javascript

14
推荐指数
3
解决办法
3217
查看次数

为什么[1,2,3]在Javascript中不等于它自己?

我今天在Javascript中玩数组并注意到这个小宝石:

alert([1, 2, 3] == [1, 2, 3]); //alerts false
Run Code Online (Sandbox Code Playgroud)

令我感到奇怪的是阵列不等于它自己.

但后来我注意到了这一点,甚至更奇怪了:

alert([1, 2, 3] == "1,2,3");  //alerts true
Run Code Online (Sandbox Code Playgroud)

?!?!?!?!?

世界上为什么[1, 2, 3]不是==自己而是==弦乐?

我认识到,==不一样===.即便如此,邪恶可能会导致Javascript先生做出如此奇怪的事情?

javascript

11
推荐指数
2
解决办法
3217
查看次数

Javascript数组等于零但不是自身

我一直在使用JavaScript中的数组,但无法弄清楚为什么会发生这种情况:

console.log(0 == 0)
//true

console.log([] == 0)
//true

console.log(0 == [])
//true

console.log([] == [])
//false

console.log([] == ![])
// true
Run Code Online (Sandbox Code Playgroud)

空数组等于左右都为零,但为什么它不等于它自己呢?

我意识到比较两个对象不会产生true,但是为什么它们被强制0(或者是假的,哪些不应该是这种情况)如果你将它们与它们进行比较0,而如果你将它们与另一个数组进行比较则作为一个对象被威胁?

javascript arrays

5
推荐指数
1
解决办法
734
查看次数

检查数组是否为空或包含值,打字稿

我以这种方式检查数组是否包含该值:

testArray.includes(value)
Run Code Online (Sandbox Code Playgroud)

如果数组为空或它包含该值,我需要执行相同的操作。所以我有这样的条件:

if (testArray == [] || testArray.includes(value)) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

typescript正在尝试执行此条件的第二部分,即使testArray == []。所以我收到一个错误testArray.includes is underfined

我知道我可以这样修复它:

if (testArray == []) {
    // do something
} else if (testArray.includes(value)) {
    // do the same thing
}
Run Code Online (Sandbox Code Playgroud)

但看起来不太好。有没有办法把它放在一个if中?

testArray是一个 openapi 查询参数,如果它很重要的话。

arrays typescript

4
推荐指数
1
解决办法
2万
查看次数

为什么新的Array()不等于[]?

new Array // outputs []

[] // outputs []
Run Code Online (Sandbox Code Playgroud)

但这new Array === []是错误的.为什么这样?

console.log(new Array === [])
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
72
查看次数

为什么空数组等于空字符串,而不是 javascript 中的另一个空数组?

在此处输入图片说明

谁能描述一下上面的图片?这是我的 Chrome 开发工具控制台的屏幕截图。

javascript

1
推荐指数
1
解决办法
691
查看次数

为什么===和==给予假的跟随?

我知道这是非常愚蠢的问,但任何人都可以告诉我为什么===和==给予假的跟随.

x=[[1,2]];
console.log(x[0]===[1,2]);
console.log(x[0]==[1,2]);
Run Code Online (Sandbox Code Playgroud)

这里typeof(x [0])和typeof([1,2])也是一样的,那么为什么它给出了假?

javascript

1
推荐指数
1
解决办法
84
查看次数

为什么[] == []和{} == {}返回假,尽管[]和{}是真实值?

在js中,伪造的值为0,null,undefined,false,NaN和”,其他一切都是真实的。因此,这意味着[]和{}也是真实值,但是当比较[]=={}or []==[]{}=={}返回false时,为什么呢?

javascript arrays object

0
推荐指数
1
解决办法
70
查看次数

标签 统计

javascript ×12

arrays ×5

ecmascript-harmony ×1

jquery ×1

json ×1

object ×1

set ×1

typescript ×1