如何向JavaScript数组中的所有对象添加函数?

时间:2013-03-29 16:45:13

标签: javascript jquery angularjs

我正在使用Angular,但基本上我的控制器有一个通过HTTP从AJAX查询返回的对象数组,我想用一个函数来装饰数组中的每个对象,以对该对象上的布尔属性进行美化处理,以便它呈现为是/否而不是真/假。我不介意使用jQuery或Angular,如果有办法可以使用它们中的任何一个。

4 个答案:

答案 0 :(得分:4)

您可以使用each

$.each(myArray, function(index, item) {
    //do stuff
});

答案 1 :(得分:1)

您可以这样做:

function prettify(prop){
     if(prop) return "Yes" 
     else return "No"
}

$.each(arr, function(index, item) {
    item.myFunction = prettify;
});

答案 2 :(得分:1)

如果你真的想为每个对象实例添加一个方法,你可以简单地展开它们:

$.each(theArray, function(i, obj) {
    obj.prettyBool = function() {
        return obj.theProperty ? 'Yes' : 'No';
    };
});

答案 3 :(得分:0)

循环遍历数组,并为数组中的每个项目分配一个带有处理函数的事件监听器。

$.each(myArray, function(index, item) {
    item.on('event', eventHandlerFunction);
});