草庐IT

my_array_ref

全部标签

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 - 剧情 js : how to run my javascript ONLY after plot image is loaded

当通过JavascriptAPI(plotly.js,而不是plotly-nodejs)使用任何类型的plotly图表时,我如何才能在图表加载后运行一些javascript?我正在寻找plotlyjavascriptAPI中的机制,例如,在使用GoogleMapsAPI时,它与“addListenerOnce”结合“tilesloaded”或“ready”执行相同的操作。例如,假设我想在呈现https://plot.ly/~PlotBot/685处显示的示例后立即简单地显示一个警报,其html和js代码可以在https://plot.ly/~PlotBot/685.js查看.这样做的原

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 - 为什么这个被屏蔽的 JS 代码在 GET 参数 : '*alert(13)*' executed on my page?

我们对我们的网站进行了白帽扫描,他们返回的漏洞之一是我们的URL附加了whscheck'*alert(13)*'a/。当我们运行完整的URL(https://oursite.com/phorders3/index.php/whscheck'*alert(13)*'a/)时,网站会加载并发出带有值的警报13流行音乐。谁能解释这是如何工作的?星号和a/到底在做什么? 最佳答案 您页面中的代码在Javascript的字符串文字中使用URL中的值,而没有正确转义该值。这意味着任何人都可以将Javascript放在URL中,它就会在页面中执行

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 - 在没有旧的 'new Array(N)' 的情况下创建具有 N 个元素的数组的正确方法?

每当我使用数组时,我总是使用[]样式,但是,当我想创建一个包含固定数量元素的数组时,我使用newArray(N)(我不知道这样做的任何其他方式)我认为这没什么大不了的,直到我读到这些关于这件事的强硬言论:Anyonedoingthis,using“newArray()”insteadof“[]“,or“newObject()”insteadof“{}”needstorelearnJavaScript.我真的很想避免编写糟糕的代码。有人介意告诉我正确的前进方向吗? 最佳答案 我不会太担心2006年博客上的一些随机评论。特别是因为您的用

javascript - 鉴于 "arguments"不是真正的数组,为什么 Array.prototype.slice.call(arguments) 有效,而 Array.prototype.slice.call(someobject) 无效?

如果arguments只是一个具有length属性的对象,那么为什么它的行为似乎不同于其他非数组对象,例如Array.prototype.slice。例如,下面的代码首先提示“undefined”,然后提示“foo”。为什么这些不同?(function(a){varmyobj={0:"foo"};varmyobjarray=Array.prototype.slice.call(myobj);varargumentsarray=Array.prototype.slice.call(arguments);alert(myobjarray.shift());alert(argumentsar

javascript - 带有 Material-UI 的 ReactJS : How to sort an array of Material-UI's <TableRow> alphabetically?

目前,我渲染Material-UI的's(http://www.material-ui.com/#/components/table)与一个数组s并使用.map().每个有一个代表名字,像这样Josh.但是,如果用户按下按钮,我想对进行排序按's字母顺序排列名。所以说例如10s,如果数组[0]的名字是Conny,而数组[1]的名字是Adrian,则希望数组[1]成为数组[0]。正确的做法是什么?任何指导或见解将不胜感激。编辑每一行都会像数组rows那样呈现,具有属性为firstName的对象和favColor:{rows.map((row)=>{return()})}每行定义如下:co

javascript - Reactjs - 在动态元素渲染中将 ref 添加到输入

我正在尝试在React中的onClick上聚焦/突出显示输入文本。它按预期工作,但仅在渲染数组中的最后一个元素上工作。我尝试了几种不同的方法,但它们都做同样的事情。这是我所拥有的两个示例:exportdefaultclassServicesextendsComponent{handleFocus(event){event.target.select()}handleClick(){this.textInput.focus()}render(){return({element.sources.map((el,i)=>({this.textInput=input}}value='textt