问题描述
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/collectionMyValues是一个array/collection,我尝试使用angular.isArray(value)但它不起作用,有什么帮助吗?
1楼
您可以使用此检查Array.isArray([1,2,3])
$scope.data.map(function(obj){
return Object.keys(obj).filter(function(k){
return Array.isArray(obj[k]);
});
});
上面的代码将为您提供$ scope.data数组中每个元素的所有列表,您是否需要特定格式?
2楼
更好的技术是将some()与angular.isArray() :
if($scope.data.some(angular.isArray)) {
//do awesome stuff
}