草庐IT

array_replace

全部标签

javascript - Array.prototype 与 [] perf

我还没有真正有机会研究的快速问题。在调用/应用类型的上下文中使用时,哪个性能更高:Array.prototypevs[]?例如:functiontest1(){returnArray.prototype.splice.apply(arguments,[1,2]);}test1([1,2,3,4,5,6,7,8,9]);functiontest2(){return[].splice.apply(arguments,[1,2]);}test1([1,2,3,4,5,6,7,8,9]);我的想法:我会假设Array.prototype方式性能更高,因为原型(prototype)函数可以重用并

javascript - Javascript 中的凯撒密码使用 shiftChar() 函数和 Array.map() 方法

我正在尝试通过阅读大量在线教程来学习Javascript,并通过应对coderbyte上的挑战来进行练习。我在CaesarCipher挑战中遇到问题。该函数需要一个字符串和一个偏移量参数,然后返回每个字母字符按提供的偏移量移动的字符串(保留所有非字母字符)。我的shiftChar()函数正在运行,它将获取char和偏移量,并将仅对字母字符应用移位,并将返回新字符。现在已经完成了,我想我可以只获取原始字符串,将其拆分为一个数组,然后使用我的shiftChar()函数将该字符数组映射到一个新数组。但是,我无法让它工作,而且我似乎无法弄清楚原因。关于map方法我是否遗漏了什么?我的理解是ma

javascript - 是否使用 [array].filter 或 _.filter

我的项目包含underscorejs作为依赖项。在内部我需要做很多复杂的数组操作,基本上包括我映射、过滤或减少数组。我们在Array.prototype上有原生的map、filter、reduce方法。但是在underscorejs中也可以使用相同的方法。就我个人而言,使用原生方法对我来说更有意义,因为它比像_(array).filter(function(){})这样的包装对象感觉更自然_.filter(array,function(){}).请提出建议。 最佳答案 这确实是一个基于意见的问题。Lodash将为您提供更好的浏览器支

javascript - javascript Array.prototype.filter() 的时间复杂度?

Array.prototype.filter的大O是什么?我已查看文档(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),但无法解决。 最佳答案 O(N)例子:varwords=['spray','limit','elite','exuberant','destruction','present'];constresult=words.filter(word=>isBig(word));func

javascript - 在 Javascript(但不是 Node)中,我如何划分两个 Uint8Arrays?

我使用的是浏览器内的Javascript,而不是NodeJS。我有两个Uint8Arrays...vard1=newUint8Array([255,255,255,255,255,255,255,255])vard2=newUint8Array([255,255,255,255,237,49,56,0])每个数组都有8个元素,它们是0到255之间的整数。每个数组代表一个更大的数字。比如第一个数组代表正整数0xffffffff我的问题是如何将d1除以d2并得到结果?我读到Javascript中整数的最大值是2^53,我相信这小于我可以拥有的最大值。我不关心结果是什么对象类型,但Uint8

javascript - Array.find(value) 返回值 'is not a function'

我正在尝试在AngularJS数组上使用JavaScript的find()函数。这是合法的,对吧...?这个非常简单的代码给我带来了一些问题。这是说$scope.names.find(name1)的返回值不是函数。TypeError:Name1不是函数if($scope.names.find(name1)!==name1){$scope.names.push(name1);}我也试过...if($scope.names.find(name1)===undefined){$scope.names.push(name1);}和if(!$scope.names.find(name1)){$s

javascript - 将带有参数的函数添加到 Array Javascript (Node.js)

我想将带有参数的函数推送到数组而不执行它们。到目前为止,这是我尝试过的:varload_helpers=require('../helpers/agentHelper/loadFunctions.js');varload_functions=[];load_functions.push(load_helpers.loadAgentListings(callback,agent_ids));load_functions.push(load_helpers.loadAgentCount(callback,agent_data));但是以这种方式,函数在推送时被执行。ThisQuestion

javascript - 为什么 Array.prototype.fill() 与 `for` 循环相比有如此大的性能差异?

在对Array.prototype.fill()方法进行一些测试(macOS上的Chrome)时,它显然比简单地创建您自己的慢了将近两倍(如果不是更慢的话)for循环并填充您的数组。显然在做类似的事情:for(vari=0;i对比Array.fill(0);Array.fill()方法将花费约210-250毫秒来填充大小为10000000的数组,而for循环将花费约70-90毫秒。似乎Array.fill()方法可以重写为简单地使用直接循环,因为您始终知道初始索引和目标索引。letarrayTest=newArray(10000000),startTime,endTime;startT

javascript - 使用@babel 转译 Array.prototype.flat?

我使用Array.prototype.flat无意中在我的React应用程序中引入了向后兼容性问题。我很惊讶这没有通过转译得到解决——我认为这会产生es2015兼容代码。我怎样才能让Babel7转译这个?(如果我对Babel6中的源代码的阅读是正确的,那么仍然有一个插件,但是自从它开始推广到浏览器支持已经被删除?)工具:@babel/core@7.0.0webpack@4.18.0我的顶级配置文件如下所示:webpack.config.jsvarpath=require('path')module.exports={entry:"./src/index.js",output:{path

javascript - 为什么要用 array.push() 来做一个对象?

我正在阅读HowcanIgetquerystringvaluesinJavaScript?在Stackoverflow上,第一个回复中的这段代码让我想知道为什么要这样使用“vars.push()”?functiongetUrlVars(){varvars=[],hash;varhashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(vari=0;i但不是这样的:varvars=[];...vars.push(hash[0]);vars[hash[0]]=hash[1];我