Javascript преобразовывать array, созданный начиная с inputs checkbox

Я имею многообразные input checkbox созданные с модели с угловым и ng-repeat, когда я выбираю какие-то из этого, я это получаю, например:

var accounts: [{'AA764':true}, {'AA324': true}, {'AA234': false}, {'AA553': true}, {'AA7365': false}];

Но структура, которая нуждалась в том, чтобы манипулировать в controller где я называю услугу REST API, он имеет эту форму:

var accounts: ['AA764', 'AA324', 'AA553'];

Только принося ключ тех, которые выбраны, я пробовал с функцией javascript foreach но мне не удается заставить это функционировать. Какая-то услуга существует Углового или внешний книжный магазин, который мог бы помогать мне с этим преобразованием? Спасибо.

0
задан 02.03.2016, 05:54
3 ответа

Ты мог бы использовать что-то поскольку это

var accounts= [{'AA764':true}, {'AA324': true}, {'AA234': false}, {'AA553': true}, {'AA7365': false}];

var result = _.map(accounts, function(item, index){
	return Object.getOwnPropertyNames(item);
});

console.log(result.join(","));
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>

, Чтобы осуществлять повторение между статьями списка нравится мне использовать функциональность ее librerГ - в

underscorejs

, хотя это опциональное ты мог бы повторять другой формы, если ты считаешь это подходящим.

, Хотя прием находится в использовании Object.getOwnPropertyNames ()

5
ответ дан 24.11.2019, 14:47
  • 1
    Ты забыл выдать те, которые они считают стоимостью true. –  02.03.2016, 07:10

Тема, - в котором у тебя есть договоренность объектов где value тебя <input type="checkbox" /> это ключ и стоимость, - если объект помечен или нет. Это превращается в проблему, так как, как это объект, не возможно соглашаться на Ваши свойства как будто это была договоренность. Для этого, они должны себе использовать такие устройства как который он появляется далее.

Используя чистый язык сценариев JavaScript и функциональную парадигму:

var accounts = [{'AA764':true}, {'AA324': true}, {'AA234': false}, {'AA553': true}, {'AA7365': false}];
var validKeys = accounts
    .filter(x => { var first; for (first in x) break; return x[first]; } )
    .map(x => { var first; for (first in x) break; return first; } );
alert(validKeys);

Если ты используешь браузеры, которые выносят язык сценариев JavaScript JS 1.8.5 или начальника, код сокращается в:

var accounts = [{'AA764':true}, {'AA324': true}, {'AA234': false}, {'AA553': true}, {'AA7365': false}];
var validKeys = accounts
    .filter(x => x[Object.keys(x)[0]])
    .map(x => Object.keys(x)[0] );
alert(validKeys);

Ответ, основанный на Javascript: Getting the first index of an object

0
ответ дан 24.11.2019, 14:47

Ты можешь использовать родные функции договоренностей в javascript (filter и map), чтобы выдавать сначала отборных и потом получать Гєnicamente идентификатора.

// Tu colección
var accounts = [{'AA764':true}, {'AA324': true}, {'AA234': false}, {'AA553': true}, {'AA7365': false}];

// Se obtienen solo los elementos con valor true
var selected = accounts.filter(function(item){
    return item[Object.getOwnPropertyNames(item)];
});

// Se obtiene el arreglo únicamente con los identificadores
var selectedIDs = account.map(function(item){
    return Object.getOwnPropertyNames(item);
});
0
ответ дан 24.11.2019, 14:47

Теги

Похожие вопросы