相关疑难解决方法(0)

lodash和下划线之间的差异

为什么有人更喜欢lodash.jsunderscore.js实用程序库而不是另一个?

Lodash似乎是下划线的替代品,后者已经存在了更长时间.

我认为两者都很精彩,但我对他们如何努力进行有根据的比较并不了解,我想更多地了解这些差异.

javascript underscore.js lodash

1566
推荐指数
9
解决办法
31万
查看次数

如何在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对象的相等性?

严格的相等运算符将告诉您两个对象类型是否相等.但是,有没有办法判断两个对象是否相等,就像 Java中的哈希码一样

Stack Overflow问题JavaScript中是否有任何类型的hashCode函数?类似于这个问题,但需要更多的学术答案.上面的场景说明了为什么需要有一个,我想知道是否有任何等效的解决方案.

javascript equals object hashcode

599
推荐指数
23
解决办法
45万
查看次数

如何从Blob转到ArrayBuffer

我正在研究Blob,我注意到当你有一个ArrayBuffer时,你可以很容易地将它转换为Blob,如下所示:

var dataView = new DataView(arrayBuffer);
var blob = new Blob([dataView], { type: mimeString });
Run Code Online (Sandbox Code Playgroud)

我现在的问题是,是否可以从Blob转到ArrayBuffer?

javascript blob arraybuffer

100
推荐指数
7
解决办法
11万
查看次数

如何知道两个数组是否具有相同的值

我有这两个数组:一个填充来自ajax请求的信息,另一个存储用户点击的按钮.我使用这段代码(我填写了样本号):

var array1 = [2, 4];
var array2 = [4, 2]; //It cames from the user button clicks, so it might be disordered.
array1.sort(); //Sorts both Ajax and user info.
array2.sort();
if (array1==array2) {
    doSomething();
}else{
    doAnotherThing();
}
Run Code Online (Sandbox Code Playgroud)

但它始终给出false,即使两个数组相同,但名称不同.(我在Chrome的JS控制台中查看了这个).那么,有什么方法可以知道这两个数组是否包含相同的数据?它为什么要给予false?我如何知道第一个数组中的哪些值不在第二个数组中?

javascript arrays compare

84
推荐指数
9
解决办法
11万
查看次数

如何以最有效的方式检查相同的数组?

我想检查两个数组是否相同(不是内容明确,但按照确切的顺序).

例如:

 array1 = [1,2,3,4,5]
 array2 = [1,2,3,4,5]
 array3 = [3,5,1,2,4]
Run Code Online (Sandbox Code Playgroud)

阵列1和2相同但3不相同.

有没有一种很好的方法在JavaScript中执行此操作?

javascript arrays comparison

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

JavaScript等同传递性很奇怪

我一直在阅读Douglas Crockford的JavaScript:The Good Parts,我遇到了一个对我来说没有意义的奇怪例子:

'' == '0'           // false
0 == ''             // true
0 == '0'            // true

false == undefined  // false
false == null       // false
null == undefined   // true
Run Code Online (Sandbox Code Playgroud)

作者还提到"从不使用==!=.而是始终使用===!==".但是,他没有解释为什么表现出上述行为?所以我的问题是,为什么上面的结果是这样的?JavaScript中不考虑传递性吗?

javascript transitivity equivalence comparison-operators

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

为什么不使用等式检查数组

我开始时:

"1:2".split(':') == ["1","2"]; 
// false
Run Code Online (Sandbox Code Playgroud)

然后尝试:

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

最终:

[] == []; 
// false
Run Code Online (Sandbox Code Playgroud)

我发现了:

"1:2".split(':').toString() == [1,2].toString();
// true
Run Code Online (Sandbox Code Playgroud)

所以我已经解决了我的初始问题(种类),但为什么数组不能相互匹配?

javascript

34
推荐指数
3
解决办法
2万
查看次数

如何测试一个数组是否是另一个数组的子集?

提供这种逻辑的最好(最干净)方法是什么?

var colors = ["red","white","blue"];

logic(colors,["red","green"]); //false
logic(colors,["red"]); //true
logic(colors,["red","purple"]); //false
logic(colors,["red","white"]); //true
logic(colors,["red","white","blue"]); //true
logic(colors,["red","white","blue","green"]); //false
logic(colors,["orange"]); //false
Run Code Online (Sandbox Code Playgroud)

可能使用underscore.js

javascript underscore.js

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

如何在JavaScript中检测数组相等?

JavaScript中有两个数组,它们都采用以下格式:

[{'drink':['alcohol', 'soft', 'hot']}, {'fruit':['apple', 'pear']}];
Run Code Online (Sandbox Code Playgroud)

我需要检测两个数组是否相等.如果它们以不同的顺序包含相同的元素,则它们被认为是相等的.我该怎么做?

javascript arrays string equality

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