草庐IT

可变数组

全部标签

javascript - 如何跟踪在 Javascript 中创建了多少个数组?

我希望能够跟踪某个程序使用了多少数组,这样我就可以弄清楚是否分配了不必要的内存。我遇到的问题是Javascript的构造,即数组文字[]不会触发Array#constructor。我还有其他方法可以跟踪数组的使用情况吗?ES5和/或ES6及更高版本。vararrayConstructor=Array//storereferencewindow.arrCount=0window.Array=function(){arrCount++;returnnewArray();}vararr1=newArraywindow.arrCount//1vararr2=[]window.arrCount/

javascript - 如何推送到 Angular 4 中的数组 Observable?接收脚本

我的服务类有一个属性:articles:Observable;它由使用标准http.get().map()解决方案的getArticles()函数填充。如何手动将新文章推送到这个数组中;一个尚未持久化因此不是httpget的一部分?我的场景是,您创建了一篇新文章,在保存之前我希望Article[]数组将这个新文章推送到它,以便它显示在我的文章列表中。此外,此服务在2个组件之间共享,如果组件A使用ngOnInit()消费服务并将结果绑定(bind)到重复部分*ngFor,更新组件B的服务数组是否会同时更新组件A的ngFor部分中的结果?还是我必须手动更新View?非常感谢,西蒙

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 - 按属性值获取数组中的下一个对象?

背景我有一个对象(用户)数组,定义和设置如下://objectdefinitionfunctionUsers(){this.Id=null;this.Name=null;this.FirstName=null;this.LastName=null;this.IsActive=null;this.Title=null;this.index=null;this.selected=null;}//objectarrayvarAllUsers=[];//...//anajaxcallretrievestheUsersandaddsthemtotheAllUsersarray//...索引值在每

javascript - 如何从 JPG 的 arrayBuffer 表示创建 Canvas imageData 数组

首先,我知道有实现此目的的标准方法(readAsDataURL和drawImage),但不幸的是,它们不适用于此特定用例。我正在使用文件读取器API作为数组缓冲区读取图像,如下所示:varreader=newfileReader();reader.onload=function(e){varbyteArray=newUint8ClampedArray(e.target.result);//dostufftothisarray}reader.readAsArrayBuffer(file);然后我用这个返回的数据创建一个clampedarray。我现在想做的是使用putImageData将

javascript - 响应类型为 text/plain 的 Angular 资源总是生成一个字符串数组

我将接收来自休息服务的记录计数的资源设为纯文本。Angular将答案中的每个字符组成一个数组。例如,如果rest回答20,angular将生成数组[2,0]。我可以在不转换响应或使用$http的情况下修复它吗?varresource=angular.module('resource');resource.factory('RecordResource',['$resource',function($resource){return$resource('/rest/records/:id',{},{count:{method:'GET',url:"/rest/records/count"

javascript - 有什么方法可以在不创建新的单独数组的情况下将现有的 Javascript 对象转换为数组?

在不同的阅读Material中有很多提到数组是Javascript中的一类特殊对象。例如这里:https://www.codingame.com/playgrounds/6181/javascript-arrays---tips-tricks-and-examples因此,由于object是属性(或键)和值的集合,我在想是否有一种方法可以从对象开始并以数组结束(在某种意义上Array.isArray()方法为模拟数组的对象返回true)。我已经开始查看数组属性:letarr=[0,1,2,3,4,5];console.log(Object.getOwnPropertyNames(arr

javascript - 在 Javascript 中获取未展平的过滤多维数组

我能够将矩阵W的元素过滤为满足条件语句的元素=>保留每个内部矩阵中低于中值的元素。中值数组的元素是每个内部数组的中值。constW=[[45,60,15,35],[45,55,75],[12,34,80,65,90]];constmedian=[40,55,65];constWmin=[];for(letj=0;j我使用了for循环,但生成的Wmin数组被展平了。我的目标是能够过滤W并仍然获得未展平的二维数组。我得到Wmin=[15,35,45,12,34],但预期的数组应该是Wmin=[[15,35],[45],[12,34]] 最佳答案

javascript - 如何检测 JavaScript 中的数组相等性?

JavaScript中有两种数组,它们的格式如下:[{'drink':['alcohol','soft','hot']},{'fruit':['apple','pear']}];我需要检测两个数组是否相等。如果它们包含不同顺序的相同元素,则它们被认为是相等的。我该怎么做? 最佳答案 检查两个数组的长度遍历第一个数组,将每个变量与第二个数组进行比较。如果1和2两者相同,则您的数组相等。比较对象/数组的函数:通过for(vari=0;i可以实现遍历真正的数组.遍历此类对象的属性可以通过for(variinobject)完成。.funct

javascript - jQuery 如何返回一个数组并且仍然是一个 jQuery 对象?

我正在尝试重现jQuery(1.7.1)的对象结构,以更好地理解它的工作原理。我有以下代码:(function(window,undefined){vardocument=window.document,navigator=window.navigator,location=window.location;window.myclass=(function(){var__con=function(){returnnew__con.fn.init();}__con.fn=__con.prototype={'init':function(){returnthis;},'test':funct