草庐IT

explore_array

全部标签

javascript - 我可以创建一个 Array.isArray() 返回 true 的对象而不使用 Array 构造函数或数组文字吗?

通过将其原型(prototype)设置为Array.prototype,我可以轻松地使一个普通对象看起来像一个数组:constobj={};Reflect.setPrototypeOf(obj,Array.prototype);(我知道神奇的length属性和稀疏数组也存在一些问题,但这不是这个问题的重点。)我想让Array.isArray(obj)返回true(当然不修改Array.isArray()方法)。MDNpolyfillforArray.isArray()如下:if(!Array.isArray){Array.isArray=function(arg){returnObje

javascript - 禁止使用 Array<T> 的数组类型

我的Ttslint会针对此构造发出警告(ArraytypeusingArrayisforbidden.UseT[]instead(array-type)):Array|null这是对前一个的正确替换吗?(string|null)[]|null 最佳答案 是的,这就是array-type的行为规则强制执行,当它设置为"array"时:Oneofthefollowingargumentsmustbeprovided:*"array"enforcesuseofT[]foralltypesT.*"generic"enforcesuseofA

Javascript:需要解决方法:Internet Explorer 在更改 href 时更改链接文本

我遇到如下问题:我们在应用程序中使用富文本编辑器(TinyMCE,但我认为这在这里并不重要)。现在,对于InternetExplorer8,我们注意到如果您键入看起来像网址的内容:www.google.com...IE通过浏览器的一些native功能将其转换为链接。现在如果你真的想把它变成一个链接,选择编辑链接属性,然后设置href例如到www.google.com/analytics...然后当javascript设置anchor标记的href属性时,链接的文本也会发生变化。期望的结果是:`www.google.com`但实际上是:`www.google.com/analytics`

javascript - 如何在 Internet Explorer 中触发 script.onerror?

onerrorpageonMSDN声明onerror处理程序可以附加到脚本元素,并且它“在对象加载期间发生错误时触发。”。出于单元测试的目的,我试图让这个onerror处理程序触发,但找不到合适的示例。以下代码在Firefox中触发错误,但在InternetExplorer中不显示任何警报有谁知道script.src的值会触发附加到script.onerror的处理程序? 最佳答案 我找到了这个buriedinsomeMSDNdocumentation:Notethatthedocumentationmistakenlysaysth

javascript - 如何使用输入字段名称 ="array[]"jQuery ajax?

我有几个动态创建的隐藏输入字段。其中大部分的名称格式为array[]问题1:我如何使用jQuery.ajax()或.post()从每个名为array[]的字段中获取值并传递它们以便它们可以在我的PHP页面中作为$_POST['array']检索?问题2:假设的话。假设我不知道所述字段的名称,而只知道表单的名称。我怎样才能仍然做与问题1中相同的事情?我在jQuery文档中找到了.serializeArray(),但我不知道我在用它做什么,我什至不确定这是否适用于我不知道字段名称。提前致谢。 最佳答案 您想使用.serialize()在

javascript - 文本溢出 : ellipsis problems in internet explorer

我正在尝试缩短某个表中列的长度。我正在使用一些jQuery添加文本溢出省略号和更多的css属性。我还使用更多的jQuery添加了一个工具提示。这是我的代码:$('#table_idtrtd:not(:last)').css({"text-overflow":"ellipsis","max-width":"110px","overflow":"hidden","display":"block"}).each(function(index,element){$(element).attr("title",$(element).text());});在Firefox和Chrome中一切正常,

JavaScript 无法在 Internet Explorer 10 上运行

我在Windows7上,刚刚将IE升级到10。它工作正常,只是Javascript不工作。我知道它已启用,因为我可以进入设置并禁用它,然后我得到“nojs”输出。但是启用它后,我什么也得不到。JS控制台中没有错误。Firefox中的相同脚本给了我“你好”。浏览器模式为“10”,文档模式为“标准”,但更改这些不会产生任何不同。这是整个页面:document.write('hello');nojs其他网站上的结果类似——如果我转到一个使用Disqus评论的页面,我只会看到一个空白区域。如果JS被禁用,Disqus会返回一条消息。谢谢。 最佳答案

javascript - array.forEach.call 与 array.map.call

要在JavaScript中遍历querySelectorAll的结果,以下哪一项比另一项更可取?[].forEach.call(document.querySelectorAll('div'){//dosomething})[].map.call(document.querySelectorAll('div'){//dosomething})本质上,我想知道这些是否都实现了提供对从querySelectorAll返回的每个dom元素的访问的相同结果。如果是这样,人们可能想要使用一个而不是另一个的原因是什么? 最佳答案 forEach

javascript - 使用 javascript array.reduce 删除重复项

我是javascript的新手,我自己从网络教程中学习它时遇到了一些挑战。请帮助我解决以下问题。问题:编写一个函数,它接受两个或多个数组,并按照原始提供的数组的顺序返回一个新的唯一值数组。换句话说,所有数组中出现的所有值都应按其原始顺序包含,但最终数组中没有重复项。唯一数字应按其原始顺序排序,但最终数组不应按数字顺序排序。只使用Array.reduce来解决这个问题!您的解决方案应如下所示:functionunite(arr1,arr2,arr3){returnarr1;}unite([1,2,3],[5,2,1,4],[2,1]);我无法理解如何在这里使用reduce。与此相比,所有

javascript - 结合变化的 Polymer 1.0 Array Observers

我正在尝试观察传递给Polymer元素的对象数组的变化。当一个新项目被添加到数组中时,该数组也会在Polymer元素中发生变化。但是,永远不会调用观察者方法。包含元素AddItemPolymer({is:"table-container",attached:function(){this.items=[];for(vari=0;i尝试观察这里的变化:{{tableItems}}Polymer({is:"selectable-table",properties:{tableItems:{type:Object,notify:true,observer:"updateTableItems"