草庐IT

Math对象

全部标签

javascript - 如何在 JS 中使用递归在嵌套数组中查找对象

考虑以下深度嵌套数组:constarray=[{id:1,name:"bla",children:[{id:23,name:"bla",children:[{id:88,name:"bla"},{id:99,name:"bla"}]},{id:43,name:"bla"},{id:45,name:"bla",children:[{id:43,name:"bla"},{id:46,name:"bla"}]}]},{id:12,name:"bla",children:[{id:232,name:"bla",children:[{id:848,name:"bla"},{id:959,name

javascript - 使用值数组创建对象数组

我有相当多的这种形式的数据ABCD-------123456789123使用javascript类型表示为:df={A:[1,5,9],B:[2,6,1],C:[3,7,2],D:[4,8,3]}我想把它转换成这种形式:[{A:1,B:2,C:3,D:4},{A:5,B:6,C:7,D:8},{A:9,B:1,C:2,D:3}]我尝试将其实现为:keyes=["A","B","C","D"]getrow=(i)=>Object.assign(...keyes.map((k)=>({[k]:df[k][i]})))df.A.map((x,j)=>getrow(j))但是对于我的表的大小来

javascript - 在 javascript 中的对象扩充期间什么时候应该使用 "prototype"?

我对javascript中的“原型(prototype)”概念感到困惑。当我定义一个对象时,以下两种方法似乎都有效:myObject={};myObject.prototype.method1=function(){...};myObject.prototype.method2=function(){...};myObject.prototype.method3=function(){...};和...myObject={};myObject.method1=function(){...};myObject.method2=function(){...};myObject.method

JavaScript:如何在不替换对象的情况下高效地替换对象的所有值

我将许多对象收集在一个数组中。由于各种原因,相同的对象也附加到某些DOM元素。有时我需要更新其中一个对象。最简单的方法是在数组中找到与我通过AJAX获得新值的对象具有相同id属性的对象,然后替换它。但这当然会创建一个新对象,并且附加到DOM元素的对象不再相同。这意味着如果我比较它们,它们将不再是同一个对象。如何在不替换实际对象的情况下用新对象中的值最简单地替换正确的对象?(以便引用保持不变)我不想要的例子varvalues=[{id:1,name:'Bob'},{id:2,name:'Alice'},{id:3,name:'Charlie'}];varbar=values[2];con

java - 有效地在不同的虚拟机之间复制对象

我觉得我要问一个“愚蠢”的问题,但我必须问...我有2个虚拟机。我想将一个对象的实例从一个复制到另一个,是否可以在VM的堆中复制表示此对象的位,将其发送到另一个VM,就像另一个VM只需要在它的内存中分配这些位并在它的堆栈中添加一个引用到这个内存插槽...?目前,为了做这样的事情,我们序列化对象并反序列化它,这比按原样复制实例效率低得多(在计算方面)...解析是一种计算浪费...JS序列化示例:每个VM都是V8的一个实例(JavaScript),一种方法是将对象转换为JSON(JSON.stringify),将它发送到另一个VM,后者获取字符串并将其转换回对象(例如varmyObject

javascript - 在 Canvas HTML 上重绘大量对象

有没有一种快速有效的方法可以在canvas中移动大量对象?基本上,如果有大约1000个对象,并且我想一次移动所有对象以模拟滚动,则通过调用drawImage()1000多次来重绘每个对象会非常慢。有没有办法优化这个?我有一个问题的示例链接(而且只有100个对象):http://craftyjs.com/isometric/ 最佳答案 由于canvas不提供快速低级位图复制,因此很难在多个图层中执行操作,例如一次滚动整个背景然后只渲染边缘。那你能做什么?简而言之,什么都没有。尤其是在滚动时,当你有一个或多或少的静态背景时,你肯定可以用

javascript - 如何将 JSON 对象作为新级别添加到另一个 JSON 对象?

我有一个代码可以获取两个JSON对象的最终集合,类似于这样。varjsonL1={"holder1":{}}varjsonL2={"section":"06","date":"11/12/13"}我想在jsonL1.holder1中插入jsonL2并将其合并到一个JSON对象中。期望的输出{"holder1":{"section":"06","date":"11/12/13"}}我该怎么做? 最佳答案 很简单:L1.holder1=L2我从变量名中删除了“json”,正如@patrick已经说过的,您处理的不是“JSON对象”,而是

javascript - 面向对象的 JavaScript 工具

我一直在研究我网站的用户界面(www.swalif.com:如果你愿意,请使用chrome进行翻译)。不熟悉jQuery我从JavaScript开始,现在文件很大:大约1000行代码。此外,代码的处理和更改变得越来越复杂。因此,我一直在寻找一种方法,以面向对象的方式解决这个问题,从而产生一个干净、可重用的系统,并具有良好的架构。如果使用JQuery提供的功能来保持代码小,也很好。问题是市面上有很多工具,我无法决定要花时间在哪一个上来完成这项任务。例如mootools、prototype、jQuery等。所以我需要有人引导我朝着正确的方向前进。这是我们的网站www.swalif.com.

javascript - 我应该如何为一堆对象生成唯一的 ID?

我有一个由很多Symbol对象组成的数组:varsymbols={alpha:newSymbol('alpha','symbol_0','α','GreekSymbol'),beta:newSymbol('beta','symbol_1','β','GreekSymbol'),gamma:newSymbol('gamma','symbol_2','γ','GreekSymbol'),delta:newSymbol('delta','symbol_3','δ','GreekSymbol'),...about500ofthesediffere

javascript - 是否可以在没有任何用户交互的情况下创建选择对象?

可以Selection在没有任何用户交互的情况下创建对象?window.getSelection()确实会返回一个Selection对象,但您不能modify()除非用户做出某种选择。是否可以创建一个从页面上的第一个元素开始的选择,然后能够修改()它,而不需要用户做任何事情?示例:http://jsfiddle.net/niklasvh/L5M3U/它不会在页面加载时选择任何内容,但如果您单击任何内容,它就会进行选择。 最佳答案 如果我理解您的要求,那么是的,您可以使用其addRange()以编程方式设置选择方法。例如,选择整个文档