草庐IT

可变数组

全部标签

javascript - 我可以得到我正在 foreach 的可观察数组吗?

最好用一个例子来解释。This是从Knockout博客链接的关于如何使用$parent的示例。但是,在这种情况下,$parent显然与$root相同,所以我看不到好处。在它说$parent.lastUpdated的地方,我想改为访问可观察数组this.products。我意识到我可以说$root.products。但是,我想概括这一点,而不是为每个列表明确地编写它。我实际上会将其与ko.contextFor结合使用。 最佳答案 您无法(一般地)访问直接在foreach循环内部循环的observableArray。$root和$par

javascript - 检测数组中作为复杂多边形顶点的一组点是否按顺时针或逆时针顺序定义?

编辑:我更新了program有了答案,效果很好!我正在制作program(请随意尝试)让用户绘制多边形,然后对其进行三Angular剖分。他们可以单击以添加顶点并按Enter键进行三Angular剖分。无论如何,只要我告诉它这些点是以顺时针还是逆时针方式绘制的,该算法就可以正常工作(现在我将其设置为仅适用于顺时针多边形)。几天来我一直在努力解决这个问题,但不知道如何确定这些点是顺时针还是逆时针。尝试使用前面提到的程序绘制形状以获得更好的想法,你可以更好地体验我在说什么,而不是我试图解释它。点的定义如下:functionPoint(x,y){this.x=x;this.y=y;}varv

javascript - 对使用 `map` 创建的数组上 `new` 的行为感到困惑

这个问题在这里已经有了答案:UndefinedvaluesinArray(len)initializer(5个答案)关闭7年前。我对mapping一个用new创建的数组的结果感到困惑:functionreturnsFourteen(){return14;}vara=newArray(4);>[undefinedx4]inChrome,[,,,,]inFirefoxa.map(returnsFourteen);>[undefinedx4]inChrome,[,,,,]inFirefoxvarb=[undefined,undefined,undefined,undefined];>[und

javascript - 有没有比使用 jQuery 的 each 更好的搜索 JavaScript 数组的方法?

我经常需要搜索包含对象的javascript数组。我想在数组中搜索具有属性匹配的对象。例如,在Person对象数组中搜索人员的id/key==="ABC123"使用jQuery和$.each方法可以很容易地完成它,这就是我所确定的。你可以在jsFiddle中看到这个例子。http://jsfiddle.net/johnpapa/EJAFG/我想知道是否还有其他人找到了更快和/或更好的方法来做到这一点?varPerson=function(code,name){this.code=code;this.name=name;};varpeople=[newPerson("ABC123","T

javascript - 将数组中的所有值作为参数传递给函数

我有一组值:['a','b','c','d']我需要将这些作为参数传递给函数:window.myFunction('a','b','c','d');如果我可以将数组/对象传递给函数,这会更容易,但是这些函数是由其他人编写的或者已经存在并且我无法更改它们-它们需要作为单独的参数传递,这就是我需要解决。传递的值数量不一致。可能是一个,也可能是100个。同样,我不能影响功能。它们就是它们的样子,我将始终收到一组要传递给它们的值。 最佳答案 使用Function对象的.apply方法。window.myFunction.apply(wind

javascript - 将父子数组转换为树

任何人都可以帮助转换以下父子对象列表:[{"name":"root","_id":"root_id",},{"name":"a1","parentAreaRef":{"id":"root_id",},"_id":"a1_id",},{"name":"a2","parentAreaRef":{"id":"a1_id",},"_id":"a2_id",},{"name":"a3","parentAreaRef":{"id":"a2_id",},"_id":"a3_id",},{"name":"b1","parentAreaRef":{"id":"root_id",},"_id":"b1_i

javascript - 仅使用对象的引用从数组中删除对象

假设我有一个名为MyArray的对象数组,某个函数返回该数组中特定元素的引用;像这样:MyArray=[Object1,Object2,...,Objectn];functionDoWork(){varTheObject=GetTheObject(SomeParamter);}此时,TheObject指向数组中的某个元素。假设我想从MyArray中删除这个元素,这是否可能而不必重新循环遍历数组来获取元素的索引?我正在寻找类似splice的东西,它可以使用对元素的引用而不是元素的索引。 最佳答案 只需使用Array.prototype

javascript - 当我期望一个匹配时,match() 返回包含两个匹配的数组

考虑以下示例:varstr="filename.jpg";varpattOne=newRegExp('\.[^\.]*$');varpattTwo=newRegExp('(\.[^\.]*$)');varpattThree=newRegExp('(\.[^\.]*$)','g');document.write(str.match(pattOne));document.write('');document.write(str.match(pattTwo));document.write('');document.write(str.match(pattThree));结果如下:.jpg.

javascript - 使用 chrome.storage.local 存储数组

我正在编写一个chrome扩展程序,但无法存储数组。我读到我应该使用JSONstringify/parse来实现这一点,但我在使用它时遇到了错误。chrome.storage.local.get(null,function(userKeyIds){if(userKeyIds===null){userKeyIds=[];}varuserKeyIdsArray=JSON.parse(userKeyIds);//HereIhaveanUncaughtSyntaxError:UnexpectedtokenouserKeyIdsArray.push({keyPairId:keyPairId,Ha

javascript - 观察对象数组的属性是否有任何变化

我正在使用Aurelia我有一个绑定(bind)到网格的项目数组,它们有一个选定的属性。我想绑定(bind)一个按钮,当其中任何一项为真时启用。我可以采用蛮力方法,其中我有一个过滤列表并返回所选项目的setter/getter,但这意味着我会在应用程序中不断进行脏检查,我不想这样做。我希望有一种更有效的方法。有什么想法吗? 最佳答案 您可以做的几件事-假设我有正确的用例:脏检查(这只是一个属性——没什么大不了的)exportclassItem{selected=false;}exportclassViewModel{items=[n