用于比较数组的javascript函数
可能重复:用于比较数组的javascript函数,javascript,jquery,arrays,comparison,Javascript,Jquery,Arrays,Comparison,可能重复: 我需要一个Javascript或jQuery函数来确定一个数组是否包含另一个数组的all值。第二个数组可以比第一个数组具有更多的值 这应该返回true或false。比如说 comparing array1 = [1,2,3] and array2 = [1,2] should return false comparing array1 = [1,2,3] and array2 = [1,1,2] should return false compari
我需要一个Javascript或jQuery函数来确定一个数组是否包含另一个数组的all值。第二个数组可以比第一个数组具有更多的值 这应该返回
true
或false
。比如说
comparing array1 = [1,2,3] and array2 = [1,2] should return false
comparing array1 = [1,2,3] and array2 = [1,1,2] should return false
comparing array1 = [1,2,3] and array2 = [3,2,1] should return true
comparing array1 = [1,2,3] and array2 = [1,2,1,3] should return true
性能不是一个问题。谢谢 检查第一个数组中的每个元素,并查看它是否存在于第二个数组中 注意。这是纯javascript,在jQuery中可能更简单
var notFound = false;
for(var i = 0, len = firstArray.length; i < len; i++){
if(secondArray.indexOf(firstArray[i]) === -1)
{
notFound = true;
break;
}
}
if(notFound)
{
....
}
var notFound=false;
for(var i=0,len=firstArray.length;i
检查第一个数组中的每个元素,并查看它是否存在于第二个数组中
注意。这是纯javascript,在jQuery中可能更简单
var notFound = false;
for(var i = 0, len = firstArray.length; i < len; i++){
if(secondArray.indexOf(firstArray[i]) === -1)
{
notFound = true;
break;
}
}
if(notFound)
{
....
}
var notFound=false;
for(var i=0,len=firstArray.length;i
更新:已将问题读得太快,以下仅在顺序相同时有效
function same_elements(array1, array2){
var result = true;
$(array1).each(function(index, value) {
if (value != array2[index]) {result = false};
});
return result;
}
更新:阅读问题太快,只有在顺序相同的情况下,以下内容才有效
function same_elements(array1, array2){
var result = true;
$(array1).each(function(index, value) {
if (value != array2[index]) {result = false};
});
return result;
}
类似的问题,请参阅。这些答案帮助我解决了这个问题。这些答案帮助了我。这对array1=[1,2,3]和array2=[1,2,1,3]不起作用。是的,刚刚意识到无序案例这对array1=[1,2,3]和array2=[1,2,1,3]不起作用。是的,刚刚意识到无序案例我刚刚发现的东西,对于那些具有更多编程技能的人来说,可能很明显的一点是,如果数组中的值是不同类型的,则返回false。在创建第二个数组时,我必须添加一个parseFloat()转换,以确保两个数组都包含数字。这篇文章提供了一些有用的信息,介绍了===的用法以及它将失败的原因。我的解决方案纯粹是针对原始int类型的,我不能保证它适用于对象、字符串等我刚刚发现的一些东西,对于那些有更多编程技能的人来说可能很明显的是,如果数组中的值是不同的类型,这将返回false。在创建第二个数组时,我必须添加一个parseFloat()转换,以确保两个数组都包含数字。这篇文章提供了一些有用的信息,介绍了===的用法以及它将失败的原因。我的解决方案纯粹针对原始int类型,我不能保证它适用于对象、字符串等