草庐IT

array_spinner

全部标签

Javascript Array.prototype.filter 意外输出

背景最近在面试,有人给我做了个测试:vararray=[1,2,3];array[10]=10;alert(array.filter(n=>n===undefined));我相信这会警告一个数组有7xundefined,或者这些行中的某些内容。但是,它输出一个空数组,如长度为0的数组。问题对我来说,这是令人困惑的。谁能帮我解释为什么会这样? 最佳答案 不访问已删除或未初始化(在稀疏数组上)的项目。Array#forEachDescriptionforEach()executestheprovidedcallbackonceforea

javascript - Ruby 中的 Array.prototype.splice

有friend问我在Ruby中实现JavaScript的splice方法效果的Ruby最佳和性能的方法。这意味着不会对数组本身或副本进行迭代。“从索引开始,删除length项并(可选)插入元素。最后返回数组中删除的项。”这是一种误导,请参阅下面的JS示例。http://www.mennovanslooten.nl/blog/post/41没有可选替换的快速破解:from_index=2for_elements=2sostitute_with=:testinitial_array=[:a,:c,:h,:g,:t,:m]#expectedresult:[:a,:c,:test,:t,:m]

javascript - 当 var trees = new Array ("redwood", "bay", "cedar"时 0 如何成为树的属性)

这个问题在这里已经有了答案:Accessnumericpropertiesofanobjectusingdotnotation(2个答案)关闭11个月前。我在mozilla文档中看到了这个例子,但我不明白为什么。如果0是树的属性,我原以为trees.0会返回redwood但这是一个错误的陈述。a[0]是一种访问数组0属性的方法吗?在这种情况下,a["length"]也应该有效(逻辑上)。谁能说清楚?链接:developer.mozilla.orgvartrees=newArray("redwood","bay","cedar","oak","maple");0intrees;//ret

javascript - Webpack require array of requirements(需要动态字符串)

我想在webpack中要求一个需求列表。一旦我将require函数的字符串参数替换为变量或常量,它就无法再注入(inject)需求。这是一个完美的例子:constangular=require('angular');但是一旦我将其更改为以下内容,它就不再起作用了:constangularString='angular';constangular=require(angularString);我的目标是拥有一个静态的依赖项列表,并像这样一个一个地注入(inject)它们:constangularDependencies=['angular-socket-io','angular-ui-r

javascript - 针对 NodeList 调用 Array.prototype.slice 的目的是什么?

这个问题在这里已经有了答案:Explanationof[].slice.callinjavascript?(9个回答)Howdoes`Array.prototype.slice.call`work?(14个答案)Whydoesn'tnodelisthaveforEach?(10个答案)关闭3年前。我在查找如何迭代NodeLists时遇到了以下代码。varnodesArray=Array.prototype.slice.call(nodeList);nodesArray.forEach(function(node){//...})针对NodeList调用Array.prototype.s

javascript - Select2.js v4.0 : how set the default selected value with a local array data source?

通过使用select2.jsv4插件,当我使用本地数组数据作为源时,如何设置默认选择值?以这段代码为例vardata_names=[{id:0,text:"Henri",},{id:1,text:"John",},{id:2,text:"Victor",},{id:3,text:"Marie",}];$('select').select2({data:data_names,});如何设置id3为默认选中值? 最佳答案 $('.select').select2({data:data_names,}).select2("val",3);

javascript - 在 Javascript 中对具有单个元素的数组调用 Array.reduce

在空数组上调用reduce会抛出TypeError,这是完全可以理解的,有助于捕获错误。但是当我在一个内部只有一个项目的数组上调用它时,这种行为让我感到困惑:vararr=["a"];arr.reduce(function(a,b){return[a,b]});//returns"a"我知道reduce不适用于这样的数组,但我发现只返回元素而不调用回调或抛出错误至少很奇怪。此外,MDN文档指出回调是“对数组中的每个值执行的函数,采用四个参数:”。有人可以解释这种行为背后的原因吗? 最佳答案 回调应该是一个“二元函数”(即接受两个参数

JavaScript - 检查数组中的所有值是否都不是 Null - Array/Each/

使用JavaScript/JQuery开发TicTacToe。初级程序员,但无法在网上找到它。目前我有一个名为“game_board”的普通数组。该数组有9个值,它们是0-8。它不是“哈希”。我正在研究一个循环或类似的循环或类似的检查数组中的所有值是否不为空。如果“game_board”数组中的所有值都不是Null,则代码应执行[Alert("Draw")]等操作。如果数组中的任何值具有值,则该函数不应执行任何操作。这是我的代码尝试。任何想法都会很棒。我的尝试是如果循环找到空值就会中断的理论。如果它没有找到空值,它会转到ELSE并报告“平局”//checkdrawfor(varp=0;

javascript - 如何在 Javascript 中的 array.forEach 中等待异步函数

我正在尝试在foreach中发出一个async请求以获取数据以便稍后用户使用它,但它对我不起作用。我知道Array.Foreach是一个同步函数,所以我什至尝试了$.when.done但它仍然不会等到它完成。如果它是单个值但它是一个数组,我本可以使用回调。有没有更好的方法通过回调来处理这个问题,以实现在下一步移动之前等待async请求?browseItems.forEach((browseItem:any)=>{AsynchFunction();cosole.log("Step2")}functionAsynchFunction(){console.log("Step1")}我正在尝试

javascript - JS (ES6) : Filter array based on nested array attributes

我有一个数组,看起来像这样:constpersons=[{name:"Joe",animals:[{species:"dog",name:"Bolt"},{species:"cat",name:"Billy"},]},{name:"Bob",animals:[{species:"dog",name:"Snoopy"}]}];现在我想根据物种进行过滤。例如:每个养猫的人,都应该返回:constresult=[{name:"Joe",animals:[{species:"dog",name:"Bolt"},{species:"cat",name:"Billy"},]}];我试过这样的fil