多个数组映射角度JS

时间:2014-06-11 11:58:44

标签: javascript jquery arrays angularjs

尝试在jquery each方法中添加两个数组,并尝试根据逻辑显示不同的文本。

我有两个数组,demo和catID。演示阵列工作正常,因为来到catID数组jquery .each无法正常工作它仍然返回一个数组。这是条件失败,它无法从阵列中找出完全匹配的值。任何人都可以帮助我吗?

JS:

    function App( ){
                var Label = ‘a’;
        var KeyLabel = 'cat'; 
                var demo = [“a”,”b”,’c’,’d’];
                var CatID =['1','2','3'];
scatID='1';
                jQuery.each( [demo,CatID], function( index, value) {
                    debugger;
                    if((Label==value)&&(scatID==CatID)){
                        debugger;
                        $scope.snewText = 'Hello from A';
                        $scope.scatText = 'Cat ID';
                    }
                });
            }

Fiddle

2 个答案:

答案 0 :(得分:1)

你想要什么? jsfiddle

var myApp = angular.module('myApp', []);

myApp.controller('MainCtrl', ['$scope', function ($scope) {

    var Label = 'a';
    var KeyLabel = 'cat';
    var demo = ['a', 'b', 'c', 'd'];
    var CatID = ['1', '2', '3'];
    scatID = '1';
    angular.forEach(demo, function (value, index) {

        if (Label == value) {

            $scope.snewText = 'Hello from A';
            $scope.scatText = 'Cat ID';
        }
    });

}]);

答案 1 :(得分:0)

我无法在jquery docs

中的任何地方找到每个的定义

http://api.jquery.com/each/

更不用说角度有自己的foreach更适合这种类型的东西

https://docs.angularjs.org/api/ng/function/angular.forEach

如果你要做的是检查Label和scatID是否属于同一个索引,你最好做一些像

这样的事情。
    if(catID.indexOf(scatID)===demo.indexOf(label)){
           $scope.snewText = 'Hello from A';
           $scope.scatText = 'Cat ID';
     }