Я пытаюсь выполнить сопоставление столбцов в удобной электронной таблице, и я хочу динамически загружать электронную таблицу и добавлять каждую строку с помощью флажка. Основываясь на моих исследованиях и в том числе How to add properties dynamically to each object in an javascript array, кажется, что лучший способ сделать это - создать массив объектов для удобного свойства «столбцов». Вы можете видеть это на http://jsfiddle.net/kc11/o4d6gr6n/.Создать массив объектов из ключей объектов javascript
Так что мне нужно сделать, это создать:
[
{data: "check", type: 'checkbox'},
{data: "year", type: 'text'},
{data: "car", type: 'text'},
{data: "available", type: 'text'},
{data: "comesInBlack", type: 'text'},
]
от:
function getCarData() {
return [
{car: "Mercedes A 160", year: 2006, available: true, comesInBlack: 'yes'},
{car: "Citroen C4 Coupe", year: 2008, available: false, comesInBlack: 'yes'},
{car: "Audi A4 Avant", year: 2011, available: true, comesInBlack: 'no'},
{car: "Opel Astra", year: 2004, available: false, comesInBlack: 'yes'},
{car: "BMW 320i Coupe", year: 2011, available: false, comesInBlack: 'no'}
];
}
Я начал получать ключи столбцов и предваряя столбец «проверить»:
var keys = $.map(getCarData()[0], function(element,key) { return key; });
keys.unshift("check");
но с моим ограниченным знанием JS я не уверен, как пройти остаток пути. Может ли кто-нибудь посоветовать мне, что делать дальше?
Если ваш набор данных довольно статичен, вы должны его жестко закодировать. Невозможно догадаться, какой тип должен иметь каждый столбец (если только они не являются текстом, кроме флажка, но вы, вероятно, захотите изменить его в какой-то момент). – Nit
Я не понимаю, как вы получаете «данные» и «тип» из своего источника. –
все столбцы - это текст, за исключением столбца флажка – user61629