草庐IT

VT_ARRAY

全部标签

javascript - JavaScript 开发人员不使用 Array.push() 有什么原因吗?

我经常看到开发人员在JavaScript中使用如下表达式:arr=[]arr[arr.length]="Something"arr[arr.length]="Anotherthing"push不是更合适吗?arr=[]arr.push("Something")arr.push("Anotherthing") 最佳答案 实际上,我在今年年初问过自己同样的问题。更新了新的测试用例http://jsperf.com/array-push-vs-unshift-vs-direct-assignment/2看来push在chrome中要快得多

javascript - 为什么 Array.filter(Number) 在 JavaScript 中过滤掉零?

我正在尝试从数组中过滤掉所有非数字元素。我们可以在使用typeof时看到所需的输出。但是对于Number,它会过滤掉零。示例如下(在Chrome控制台中测试):[-1,0,1,2,3,4,Number(0),'','test'].filter(Number)//Whichoutputwithzerofilteredout:[-1,1,2,3,4]//0isfiltered如果我们使用typeof,它不会过滤零,这是预期的。//code[-1,0,1,2,3,4,Number(0),'','test'].filter(n=>typeofn==='number')//output[-1,0

javascript - 为什么 Array.push.apply 不起作用?

如所述here,在javascript中将数组b附加到数组a的快速方法是a.push.apply(a,b)。您会注意到对象a使用了两次。实际上,我们只需要push函数,而b.push.apply(a,b)完成完全相同的事情——apply的第一个参数提供this用于应用的函数。我认为直接使用Array对象的方法可能更有意义:Array.push.apply(a,b)。但这不起作用!我很好奇为什么不这样做,以及是否有更好的方法来实现我的目标。(应用push函数而不需要调用特定数组两次。) 最佳答案 是Array.prototype.pu

javascript - 何时在 JavaScript 中使用 Float32Array 而不是 Array

什么时候对浏览器应用程序使用Float32Array而不是标准的JavaScriptArray有意义?这performancetest显示Float32Array通常较慢-如果我理解正确,标准Array将数字存储为64位-因此在精度上没有优势。除了任何可能的性能损失,Float32Array也有可读性的缺点-必须使用构造函数:a=newFloat32Array(2);a[0]=3.5;a[1]=4.5;取而代之的是数组字面量a=[3.5,4.5];我问这个是因为我正在使用默认为Float32Array的库glMatrix-并且想知道是否有任何理由我不应该强制它使用Array相反,这将允

javascript - IE 不支持 Array includes 或 String includes 方法

我一直在从事一个项目并开发一个JavaScript框架。原始代码大约有700行,所以我只粘贴了这一行。includes方法在InternetExplorer上不起作用。有解决办法吗?varrow_cells=tbl_row.match(//g);row.Cells=newArray();if(onRowBindFuncText!=null){/*Fonksyontanımlanmaışsadahahızlıçalış*/varcellCount=0;for(i=0;i...代码继续 最佳答案 因为它在IE中不受支持,所以在Opera

javascript - 在 JavaScript 中有条件地在 Array 中添加元素

当我尝试有条件地使用扩展运算符合并两个对象时,它在条件为true或false时起作用:letcondition=false;letobj1={key1:'value1'}letobj2={key2:'value2',...(condition&&obj1),};//obj2={key2:'value2'};当我尝试对数组使用相同的逻辑时,它仅在条件为true时有效:letcondition=true;letarr1=['value1'];letarr2=['value2',...(condition&&arr1)];//arr2=['value2','value1']如果条件为fals

javascript - Array.any 的等价物是什么?在 JavaScript 中?

我正在寻找一种用于JavaScript的方法,当它为空时返回true或false...类似于Rubyany?或empty?[].any?#=>false[].empty?#=>true 最佳答案 原生JavaScript.some()method完全符合您的要求:functionisBiggerThan10(element,index,array){returnelement>10;}[2,5,8,1,4].some(isBiggerThan10);//false[12,5,8,1,4].some(isBiggerThan10);/

javascript - 为什么 Array.indexOf 找不到相同的对象

我有对象数组。像这样的东西:vararr=newArray({x:1,y:2},{x:3,y:4});当我尝试时:arr.indexOf({x:1,y:2});它返回-1。如果我有字符串或数字或其他类型的元素而不是对象,则indexOf()可以正常工作。有谁知道为什么要在数组中搜索对象元素,我应该怎么做?当然,我指的是除了为对象制作字符串散列键并将其提供给数组之外的方法... 最佳答案 indexOfcomparessearchElementtoelementsoftheArrayusingstrictequality(thesam

Javascript 数组声明 : new Array(), new Array(3), ['a' , 'b' , 'c' ] 创建行为不同的数组

考虑这个示例Javascript代码:a=newArray();a['a1']='foo';a['a2']='bar';b=newArray(2);b['b1']='foo';b['b2']='bar';c=['c1','c2','c3'];console.log(a);console.log(b);console.log(c);Firebug控制台中的结果如下:对于a(必须通过单击“+”按钮来展开“[]”):[]a1"foo"a2"bar"对于b:[undefined,undefined]对于c:["c1","c2","c3"]我的问题是:我是否正确使用了array['key']='

javascript - C# 中的 array.map() 示例?

考虑以下常见的JavaScript构造varages=people.map(person=>person.age);给出期望的结果,这是一个年龄数组。这在C#中的等效项是什么?请包括一个简单的例子。文档指示select或可能的selectAll但我找不到在线示例或任何其他可以粘贴并起作用的SO问题。如果可能,给出一个例子,将下面的数组{1,2,3,4}变成下面的{'1a','2a','3a','4a'}。对于每个元素,将“a”附加到末尾,将其从整数转换为字符串。 最佳答案 这称为投影,称为Select在林克。这不会返回一个新数组(就