javascript - 将可观察数组作为函数参数传递

标签 javascript arrays knockout.js

我正在使用 ASP.Net MVC 5 和 KnockoutJs 开发会计软件。 我是 KnockoutJs 和 Javascript 的新手,所以有一些困难。

我想将一个可观察数组传递给一个函数,该函数将为我计算帐户代码。在该函数中我想要该数组。

我的代码:

self.SUBACCOUNTS = ko.observableArray([]);
self.selectedSubAccount.subscribe(function (newValue) {                           
    self.ACCOUNT_CODE = GenrateAccountCode(self.SUBACCOUNTS());
});
function GenrateAccountCode(accArray)
{
    //want to access some value of the passed array here
}

我想将上述函数的返回值分配给一个可观察变量 (self.ACCOUNT_CODE)。

最佳答案

要访问可观察数组的某些值,您可以使用 ko.utils.arrayForEach 函数,其示例用法如下:

// where accArray === self.SUBACCOUNTS()
function GenrateAccountCode(accArray)
{
     var initialCode = 0;
     //want to access some value of the passed array here
     ko.utils.arrayForEach(accArray, function(subaccount){
         // process the values of the array here. Assume each SUBACCOUNTS() item has a code property
          initialCode += subaccount.code();
     });
     return initialCode;
}

然后将您的 self.ACCOUNT_CODE 可观察值设置为函数的返回值,您可以这样做:

self.ACCOUNT_CODE(GenerateAccountCode(self.SUBACCOUNTS())

关于javascript - 将可观察数组作为函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21411973/

相关文章:

javascript - 在 webpack 和 es6 中使用 LESS

javascript - 将 Angular 服务与 NodeJS 模块相结合

javascript - knockout 错误?,无法匹配评论结束

javascript - knockout 观察和表现

javascript - 使用 fabric.fromUrl 时的 CORS 问题

javascript - Javascript 变量的窗口与应用程序范围

arrays - char数组转string的一些问题

c - 如何对表示时间表的数组结构对象进行排序

javascript - 如何编写一个函数将数组与不同类型的对象分开分组?

visual-studio-2012 - typescript 0.9 + knockout : strange compiler errors