相关疑难解决方法(0)

如何动态合并两个JavaScript对象的属性?

我需要能够在运行时合并两个(非常简单的)JavaScript对象.例如,我想:

var obj1 = { food: 'pizza', car: 'ford' }
var obj2 = { animal: 'dog' }

obj1.merge(obj2);

//obj1 now has three properties: food, car, and animal
Run Code Online (Sandbox Code Playgroud)

有没有人有这个脚本或知道内置的方法来做到这一点?我不需要递归,我不需要合并函数,只需要平面对象上的方法.

javascript javascript-objects

2338
推荐指数
33
解决办法
122万
查看次数

从JS数组中删除重复值

我有一个非常简单的JavaScript数组,可能包含也可能不包含重复项.

var names = ["Mike","Matt","Nancy","Adam","Jenny","Nancy","Carl"];
Run Code Online (Sandbox Code Playgroud)

我需要删除重复项并将唯一值放在一个新数组中.

我可以指出我尝试过的所有代码,但我认为它没用,因为它们不起作用.我也接受jQuery解决方案.

类似的问题:

javascript arrays unique duplicates

1225
推荐指数
28
解决办法
130万
查看次数

如何在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万
查看次数

分组对象数组的最有效方法

在数组中对对象进行分组的最有效方法是什么?

例如,给定此对象数组:

[ 
    { Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5" },
    { Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10" },
    { Phase: "Phase 1", Step: "Step 2", Task: "Task 1", Value: "15" },
    { Phase: "Phase 1", Step: "Step 2", Task: "Task 2", Value: "20" },
    { Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Value: "25" },
    { Phase: "Phase 2", Step: "Step 1", Task: "Task 2", Value: "30" …
Run Code Online (Sandbox Code Playgroud)

javascript arrays group-by object underscore.js

424
推荐指数
23
解决办法
39万
查看次数

Chrome sendrequest错误:TypeError:将循环结构转换为JSON

我有以下......

chrome.extension.sendRequest({
  req: "getDocument",
  docu: pagedoc,
  name: 'name'
}, function(response){
  var efjs = response.reply;
});
Run Code Online (Sandbox Code Playgroud)

它调用以下..

case "getBrowserForDocumentAttribute":
  alert("ZOMG HERE");
  sendResponse({
    reply: getBrowserForDocumentAttribute(request.docu,request.name)
  });
  break;
Run Code Online (Sandbox Code Playgroud)

但是,我的代码永远不会到达"ZOMG HERE",而是在运行时抛出以下错误 chrome.extension.sendRequest

 Uncaught TypeError: Converting circular structure to JSON
 chromeHidden.JSON.stringify
 chrome.Port.postMessage
 chrome.initExtension.chrome.extension.sendRequest
 suggestQuery
Run Code Online (Sandbox Code Playgroud)

有谁知道是什么原因引起的?

javascript json google-chrome google-chrome-extension

357
推荐指数
10
解决办法
47万
查看次数

如何在javascript中比较2个函数

如何比较javascript中的2个函数?我不是在谈论内部参考.说

var a = function(){return 1;};
var b = function(){return 1;};
Run Code Online (Sandbox Code Playgroud)

有可能比较ab

javascript function

48
推荐指数
4
解决办法
3万
查看次数

比较2个JSON对象

可能重复:
JavaScript中的对象比较

是否有任何方法接受2个JSON对象并比较2以查看是否有任何数据已更改?

编辑

在审查评论之后,需要做出一些澄清.

  1. JSON对象定义为

    "一组无名的名称/值对.一个对象以{(左括号)开头,以}结尾(右大括号).每个名称后跟:(冒号),名称/值对用(逗号)分隔".- json.org

  2. 我的目标是能够比较2个JSON对象文字,简单地说.

我不是一个javascript大师所以,如果,在javascript中,这些是对象文字,那么我想这就是我应该称之为.

我相信我正在寻找的是一种能够:

  1. 深度递归以查找唯一的名称/值对
  2. 确定两个对象文字的长度,并比较名称/值对以查看是否存在差异.

javascript json compare

47
推荐指数
1
解决办法
11万
查看次数

比较JavaScript中的对象

我有这个代码:

var object1 = {same:'test'}
var object2 = {same:'test'};       
console.log(object1 === object2)
Run Code Online (Sandbox Code Playgroud)

它在控制台中返回false.

我也有这个代码:

var object1 = {same:'test'}
var object2 = object1;
console.log(object1 === object2)  
Run Code Online (Sandbox Code Playgroud)

它在控制台中返回true.

我知道'==='是一个相等运算符,但我不知道它是如何在对象上运行的.

为什么第一个示例返回false?

javascript

32
推荐指数
4
解决办法
2354
查看次数

对象/数组的深度比较

可能重复:
如何确定两个JavaScript对象的相等性?
JavaScript中的对象比较

如果我有两个数组或对象并想要比较它们,例如

object1 = [
 { shoes:
   [ 'loafer', 'penny' ]
  },
  { beers:
     [ 'budweiser', 'busch' ]
  }
]

object2 = [
 { shoes:
   [ 'loafer', 'penny' ]
  },
  { beers:
     [ 'budweiser', 'busch' ]
  }
]

object1 == object2 // false
Run Code Online (Sandbox Code Playgroud)

如果您从服务器获得响应并尝试查看它是否已更改,这可能会很烦人

javascript arrays comparison object

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