草庐IT

explore_array

全部标签

javascript - Typescript Convert Object to Array - 因为 *ngFor 不支持对象的迭代

我可不想这样用for循环把Object转成Array!如果加倍处理并降低应用程序的性能(我正在使用Ionic2和Typescript,以及Firebase)for(输入数据){array.push(值);是否有使用*ngFor迭代对象本身(如附图所示)的解决方案。或者我可以将此对象(如附图所示)转换为数组,以便可以在*ngFor中进行迭代。 最佳答案 您可以使用Object.keys(obj)来获取命名索引。这将返回一个数组结构,您可以进一步使用/自定义它。用于遍历对象值的示例可能如下所示varpersons={john:{age:

javascript - json 数组 : How to create new array elements?

我的目标是得到一个像这样的json数组:varargs=[{name:'test',value:1},{key:'test2',value:2}];我怎样才能得到下面的代码来构建一个像上面那样的数组?this.dependentProperties=[];//arrayfunctionaddDependentProperty(depName,depValue){dependentProperties.push(newArray(depName,depValue));}通过使用push方法,我最终得到了一个像这样的json符号:args:{[["test1",1],["test2",2]

javascript - 当 myarray 在一个框架中时,为什么 myarray instanceof Array 和 myarray.constructor === Array 都为 false?

所以下面的代码会发出两次错误警报:window.onload=function(){alert(window.myframe.myarrayinstanceofArray);alert(window.myframe.myarray.constructor===Array);}当页面中有一个名为“myframe”的iframe包含一个名为“myarray”的数组时。如果数组被移动到主页(而不是iframe),那么代码会像预期的那样发出两次true警报。有谁知道这是为什么吗? 最佳答案 functionisArray(o){return

javascript - 使用 javascript 在 Internet Explorer 中迭代 formData 对象

正在使用表单ID创建一个formData对象并执行以下操作:varformDataDetails=newFormData(document.getElementById("form_id"));for(varentryofformDataDetails{res[entry[0]]=entry[1];}我稍后会做JSONstringify和做POST。但是我最近发现'InternetExplorer'还不支持for..of循环。而且我认为使用for..in循环是不正确的,因为它用于遍历可枚举对象(而是循环遍历对象的属性)。对于InternetExplorer,我应该如何遍历formDat

javascript - 在 WebGL 中从 Float32Array 到 Uint16Array 的转换

我有Float32Array纹理,可以通过WebGL正确显示。但是,当我尝试将它们转换为Uint16Array时,问题出现了。这是我的转换部分。var_floatToHalfFloat=function(input,offset){varlargestHalf=Math.pow(2,30-15)*(1+1023/1024);varm=newArrayBuffer(4);varn=newFloat32Array(m);varo=newUint32Array(m);varf=0.0;for(vari=input.length-1-offset;i>=0;i--){n[0]=input[i]

javascript - 如果比较函数不可传递,Array.sort() 的行为如何?

我正在编写一种算法来对3D框数组进行排序,以便按从前到后的顺序进行绘制。有一种定义明确、稳定的方法来决定两个盒子中的哪个盒子在另一个盒子前面,所以我编写了一个函数来做到这一点,然后我将我的函数传递给Array.prototype.sort()以获得正确的绘制顺序。但也可能存在这样的框循环,即A>B、B>C和C>A都为真。这意味着整个列表没有明确定义的排序顺序,即使任何对的顺序都是明确定义的。在实践中,这种情况不太可能出现,如果出现,我可以忍受一两个盒子的顺序错误。但是,在这种情况下,是否存在可能对整个列表进行错误排序或崩溃的JS实现?16年11月10日更新现在项目已经完成,只是为了补充

JavaScript Array、Stack、Queue——这种特定 API 设计背后的动机是什么?

在我的日常工作中,我主要使用C#,偶尔使用javascript,所以请javascript大师不要粗暴地判断我的问题!Array通过提供push和pop方法实现Stack,但是peek不见了,为什么?(是的,实现起来很简单,但仍然)Array实现了Queue,但是操作被命名为push-shift或unshift-pop而不是enqueue和dequeue,为什么命名不同?这是受Python和Ruby启发的吗?为什么将Array、Stack和Queue的API合并到一个对象中,而不是分离接口(interface)并为其创建不同的对象?是因为实现便宜吗?从语义上讲,在许多语言(C#、C++

javascript - Internet Explorer/Firefox 中的硬刷新和 XMLHttpRequest 缓存

我发出一个Ajax请求,在其中设置响应缓存能力和最后修改的header:if(!String.IsNullOrEmpty(HttpContext.Current.Request.Headers["If-Modified-Since"])){HttpContext.Current.Response.StatusCode=304;HttpContext.Current.Response.StatusDescription="NotModified";returnnull;}HttpContext.Current.Response.Cache.SetCacheability(HttpCach

javascript - 从 Internet Explorer 中的 javascript 打印方法设置 pdf 的文件名不起作用

vardocprint=window.open("","","toolbar=0,location=0,menubar=0,scrollbars=1");docprint.document.open();docprint.document.write("Titlehere");docprint.document.write("bodycontenthere");docprint.document.close();docprint.focus();docprint.print();这是我用于打开新窗口并自动打开打印对话框的javascript代码。当用户从打印对话框中选择打印到Adob​

javascript - [].__proto__ === Array.prototype//=== [Symbol(Symbol.unscopables) : Object]?

定义一个实用函数来检查对象的原型(prototype)链(在Chrome中),我得到了数组。这样看来[].__proto__===Array.prototype//===[Symbol(Symbol.unscopables):Object]我理解第一个平等。我不知道第三项是什么,虽然我听说ES6将有Symbols。这个东西和Array.prototype是一样的吗?为什么会这样打印?编辑:chrome://版本信息:GoogleChrome40.0.2214.111(OfficialBuild)Revision6f7d3278c39ba2de437c55ae7e380c6b3641e9