在javascript中像表一样输入数据

To input data like table in javascript

本文关键字:一样 输入 数据 javascript      更新时间:2023-09-26

我需要字段的元数据。像这样的代码。

var fields =  [
  { code: 'name',     display: 'Name',             isActive: true },
  { code: 'tel',      display: 'Telephone Number', isActive: true },
  { code: 'mobile',   display: 'Mobile',           isActive: true },
  { code: 'email',    display: 'Email address',    isActive: true },
  { code: 'nickname', display: 'Nickname',         isActive: true },
];

有很多领域,所以我很累。没有属性名怎么写?我想要一个流像下一个代码。

var fieldsString = "
code        | display            | isActive
'name'      | 'Name'             | true
'tel'       | 'Telephone Number' | true
'mobile'    | 'Mobile'           | true
'email'     | 'Email address'    | true
'nickname'  | 'Nickname'         | true
'tel'       | 'Mobile'           | true
";
var tableData = new TableData(fieldsString);
var fields = tableData.getData();

谁知道表数据的格式像上面的代码?

二维数组就可以了

var keysArray = ['code','display','isActive'];
var fieldArray = [
  ['name'    , 'Name'            , true ],
  ['tel'     , 'Telephone Number', true ],
  ['mobile'  , 'Mobile'          , true ],
  ['email'   , 'Email address'   , true ],
  ['nickname', 'Nickname'        , true ],
  ['tel'     , 'Mobile'          , true ]
];

,然后简单地使用数组的map函数将其转换为基于对象的表示。

var fields=fieldArray.map(function (current) {
  var tempobj = {};
  for(var i=0, len=keyArray.length; i<len; i++){
    tempobj[keyArray[i]] = current[i];
  }
  return tempobj;
}

您可以通过调用reduce来替换tempobj和for循环,使其更简洁。