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
есть ли какое-либо значение столбца в качестве массива/коллекции в вышеописанном коде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
}