草庐IT

original_array

全部标签

JavaScript 1.6 Array.map() 和 Array.filter() 不使用内置函数作为参数

这很好用:["655971","2343","343"].map(function(x){returnparseInt(x)})//[655971,2343,343]但这不是:["655971","2343","343"].map(parseInt)//[655971,NaN,NaN]Array.filter()也是如此我在这里错过了什么? 最佳答案 这是因为map向回调函数传递的参数不仅仅是数组项。你得到:callback(item,index,array)通常你的函数会忽略它不需要的参数。但是parseInt接受一个可选的第二个

javascript - 如何在 JavaScript 中使用 array reduce with condition?

所以我有一个数组constrecords=[{value:24,gender:"BOYS"},{value:42,gender:"BOYS"},{value:85,gender:"GIRLS"},{value:12,gender:"GIRLS"},{value:10,gender:"BOYS"}]我想得到sum所以我使用了JavaScriptarrayreduce函数并得到了它。这是我的代码:someFunction(){returnrecords.reduce(function(sum,record){returnsum+record.value;},0);}通过该代码,我得到了正确

javascript - 在 Jasmine 中,array.includes 不起作用(必须用其他函数代替)。为什么?

我的问题看起来很奇怪。我有一个带有一个新的、非常简单的函数的构造函数,它应该检查一个变量是否包含在一个数组中。它工作得很好(我在一个表单中使用这个函数)。但是...我无法对此函数编写任何单元测试,因为Karma/Jasmine看不到数组的“包含”函数。有人可以建议我该怎么做吗?这里的情况稍微简化了一点://要测试的构造函数vm.isNameAlreadyUsed=function(){//debutlogging:console.log("vm.allNames",vm.allNames);//output:vm.allNames['A','B','C']console.log("an

javascript - 如何检测ajax错误是Access-Control-Allow-Origin还是文件确实丢失

我的问题不是关于如何解决Access-Control-Allow-Origin问题。执行请求时有时会发生此错误,有时url可能已过时。但是我想根据不同的错误为用户打印不同的消息。目前我有以下代码:$.ajax({url:link,type:'HEAD',timeout:2000,error:function(request,status,message){console.log('ajaxerror');console.log(request);console.log(status);console.log(message);openPopUp("Therewasanerroracce

javascript - 刷新后浏览器的 "return to original position"发生在 Javascript 事件链的哪个位置?

我的网页很忙,有很多小部件。有时加载需要一两秒钟。当我从页面顶部以外的某个位置点击刷新时,我可以看到页面加载时就好像scrollTop==0并且在某个时候快速返回到我的原始位置。问题是我在.ready()事件处理程序中进行了各种初始化,其中一些依赖于scrollTop和scrollLeft。这些初始化发生在文档返回到其原始位置之前,然后从原始位置给出无意义的结果。将这些初始化包装在.load()事件处理程序中似乎也不起作用。起作用的是通过.load()处理程序中的setTimeout添加一个(相当长的)延迟。由于显而易见的原因,这是不希望的。这表明“返回原始位置”独立于标准事件链发生,

javascript - TypeScript Array.prototype.map 声明

规范根据MDNspecificationforArray.prototype.map()map应该这样使用...varnew_array=arr.map(callback[,thisArg])问题TypeScript有几个映射的重载声明,这使得extendArray变得非常困难。.我希望看到这个(在lib.d.ts中)...map(callbackfn:(value:T,index:number,array:T[])=>U,thisArg?:any):U[];但是lib.d.ts也有这些……map(this:[T,T,T,T,T],callbackfn:(value:T,index:n

javascript - 方法参数 : destructuring + keeping original parameter (ReactJS component)

这个问题在这里已经有了答案:ES6destructuringfunctionparameter-namingrootobject(5个答案)关闭3年前。有没有办法实现方法参数解构,又能获取方法参数。在具有无状态组件的React应用程序的上下文中,我希望能够替换constMyComponent=(props)=>{const{prop1,prop2}=props;return()}使用更简洁的语法,如constMyComponent=(props:{prop1,prop2})()有没有类似的语法可用?

javascript - Array.sort 的这个中间阶段发生了什么?

在深入研究数组方法时,我决定看一下Array.sort方法中涉及的步骤。看一下这段代码,用于反转数组的顺序:letarr=[];for(leti=1;i{console.log(arr);console.log(`Comparing${value1}:${value2}`);returnvalue2-value1;});console.log(arr);我得到这个输出:[1,2,3,4,5]Comparing1:2[2,1,3,4,5]Comparing1:3[2,1,1,4,5]Comparing2:3[3,2,1,4,5]Comparing1:4[3,2,1,1,5]Compari

javascript - 为什么继承Array在ES5中很难实现?

在ES5中使用原型(prototype)继承,从Array继承并获得预期的行为看起来并不简单,比如在将项目添加到Array时自动更新.length(见下面的代码)。ES5创建派生函数对象(MyArray),然后将基类型传递给它进行初始化,为什么这个模型很难在这个模型中获得预期的行为?ES6改变了基础构造函数中的行为和创建对象,然后派生类的构造函数对其进行初始化(在调用super()之后),想知道为什么这样解决了问题。functionMyArray(){}MyArray.prototype=Object.create(Array.prototype);varmyArr=newMyArra

javascript - LinkedIn OAuth 重定向登录返回 "No ' Access-Control-Allow-Origin' header is present on the requested resource“错误

我目前正在我的React和Play应用程序中使用LinkedIn实现OAuth登录,并在尝试重定向到我的开发环境中的授权页面时遇到CORS错误:XMLHttpRequest无法加载https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_i…basicprofile&redirect_uri=http%3A%2F%2Flocalhost%3A9000%2Fusers%2Flinkedin。从'https://www.linkedin.com/oauth/v2/authorization?respo