当前位置: 代码迷 >> JavaScript >> 如何使用角度js在json数据中检查任何列值是否存在数组/集合?
  详细解决方案

如何使用角度js在json数据中检查任何列值是否存在数组/集合?

热度:56   发布时间:2023-06-12 13:43:21.0

index.js

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

app.controller('MainCtrl', function($scope) {

  $scope.data =[{"Id":1,"Title":"en-US","Description":"UnitedStates","MyValues":[{"demo":"dish","Id":100,"Value":"Save"}]},
{"Id":1,"Title":"en-UK","Description":"UK","MyValues":[{"demo":"Myvalu","Id":102,"Value":"Delete"}]}]
  $scope.cols = Object.keys($scope.data[0]);

  $scope.notSorted = function(obj){
    if (!obj) {
        return [];
    }
    return Object.keys(obj);
}  
});

我想检查$scope.data是否有任何列值作为上述代码中的array/collection MyValues是一个array/collection ,我尝试使用angular.isArray(value)但它不起作用,有什么帮助吗?

您可以使用此检查Array.isArray([1,2,3])

$scope.data.map(function(obj){
  return Object.keys(obj).filter(function(k){
       return Array.isArray(obj[k]);
    });
});

上面的代码将为您提供$ scope.data数组中每个元素的所有列表,您是否需要特定格式?

更好的技术是将some()angular.isArray()

if($scope.data.some(angular.isArray)) {
   //do awesome stuff
}