草庐IT

Math对象

全部标签

javascript - 从 Javascript 数组中删除等效但唯一的对象

我有一个类似于以下的对象数组:varrouteArr=[{start:1,end:2},{start:1,end:3},{start:1,end:4},{start:2,end:1},{start:3,end:1},{start:4,end:1}];这些对象表示线的起点和终点,{start:1,end:2}和{start:2,end:1}代表同一行。我试图从数组中删除所有重复的行,但找不到有效或优雅的方法来完成它。我已经尝试过嵌套循环,但有人告诉我这是不好的做法(而且我的实现出现错误,而且很丑陋)。for(vari=0,numRoutes=routeArr.length;i有人可以提供

javascript - 为什么箭头函数的 'this' 在嵌套对象字面量中没有变化?

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)关闭6年前。我发现在嵌套对象文字中使用箭头函数时,“this”关键字似乎总是指向global。根据其他问题,以下代码片段可以解释为箭头函数的“this”是在词法上下文中定义的。varc=100;vara={c:5,fn:()=>{returnthis.c;}};console.log(a.c);//100但是,我无法理解以下代码(嵌套对象字面量):varc=100;vara={c:5,b:{c:10,fn:()=>{returnthis.c;}}}console.log

javascript - 获取无组织对象数组中所有键的有效方法

我想获取对象数组中的所有键。最初我只是抓取数组中的第一个对象并使用:varkeys=Object.keys(tableData[0]);但是当我仔细查看数据时,我注意到第一行没有包含所有需要的键。在以下示例中,第三项包含所有键,但您可能会遇到需要组合多个对象才能获取所有键的情况。vartableData=[{first:"jeff",last:"doe",phone:"2891"},{first:"sarah",phone:"this",county:"usa"}{first:"bob",last:"brown",county:"usa",phone:"23211"}];我怎样才能获得

javascript - 无法分配给对象 'name' 的只读属性 '[object Object]'

以下代码只会为name属性抛出错误。它可以通过在Object.create参数中将name属性指定为可写来修复,但是我试图理解为什么会这样(也许有一种更优雅的方法来修复它)。varBaseClass=function(data){Object.assign(this,data);}varExtendedClass=function(){BaseClass.apply(this,arguments);}ExtendedClass.prototype=Object.create(BaseClass);console.log(newExtendedClass({type:'foo'}));n

javascript - 在 ES6 深度嵌套的对象的 javascript 数组中查找值

在一个对象数组中,我需要找到一个value——其中key是activity:但是activitykey可以像这样深度嵌套在数组中:constactivityItems=[{name:'Sunday',items:[{name:'Gym',activity:'weights',},],},{name:'Monday',items:[{name:'Track',activity:'race',},{name:'Work',activity:'meeting',},{name:'Swim',items:[{name:'Beach',activity:'scubadiving',},{name

javascript - 对象解构和处理异常

这个问题在这里已经有了答案:Objectdestructuringwithoutvar,letorconst(4个答案)关闭4年前。在javascript中,是否可以在处理异常的同时执行对象析构?例如,这是我理想中希望能够执行的语法无效letbody;leterr;try{{body}=awaitnetworkRequest(...);//invalidsyntax}catch(e){err=e;}据我所知,选项是:不要使用对象解构不处理异常将析构的范围限定到tryblock是否可以实现对象解构并处理异常?

javascript - 函数调用的对象解构

有没有办法就地解构JS对象,而不是将解构的变量分配给范围?而不是这样做:const{a,b,c}=obj;someFunction(a,b,c);我想这样做:someFunction({a,b,c}fromobj);或功能等同的东西。我想在有这两个规定的情况下这样做:我不想将变量名放入封闭范围。我不想传递整个对象obj,因此不能选择扩展运算符。我唯一的选择就是使用someFunction(obj.a,obj.b,obj.c);这在这种情况下很好,但是当obj是一个长标识符时会降低可读性。这样的事情可能吗?我尝试在表达式中使用赋值作为解决方法,但我的IDE提示它找不到名称a、b和c:so

JavaScript对象浏览器?

我最近的任务是记录我维护了一段时间的大型JavaScript应用程序。所以我对系统有很好的了解。但由于应用程序的庞大规模,即使事先了解代码和未压缩形式的源代码本身,也可能需要花费大量时间。所以我正在寻找可以帮助我探索类和方法及其在JavaScript中的关系的工具,如果可能的话,一路记录它们,是否有可用的工具?VS中的对象浏览器之类的东西会很好,但任何可以帮助我更快完成工作的工具都可以。谢谢! 最佳答案 Firebug的DOMtab让您浏览全局window对象的内容,您可以通过在命令行中输入inspect(whatever)来检查特

javascript - 如何定义对象在 JavaScript 中的比较方式

我想定义一个JavaScript类Foo。Foo=function(value){this.value=value;};我将创建我的Foo的“实例”:foo1=newFoo(1);foo2=newFoo(1);我希望我的Foo实例可以使用标准==相等运算符相互比较:foo1==foo2;//thisshouldbetrue我找不到办法做到这一点。我以为我正在使用valueOf()函数,但这仅在比较的一侧是原始类型时才有用,而不像上面那样都是对象类型。我是否错过了一些类似于Ruby的非常简单的东西def==(obj);end 最佳答案

javascript - javascript对象是否跨页面保存?

我想知道javascript对象是否跨页保存?看起来有些浏览器会,有些不会。什么是标准行为?谢谢,埃贝 最佳答案 不,当您更改页面时所有对象都将丢失。但是,您可以使用window.name做一个有趣的hack。只要当前窗口打开,window.name的值就会一直保留,因此您可以在其中临时存储数据(并从一个页面到另一个页面访问它)。但是,可以从使用该窗口的任何页面访问(和覆盖)此数据,因此它不是安全或可靠的存储。参见http://www.thomasfrank.se/sessionvars.html了解更多信息。