将Javascript点标记对象转换为基于数组的样式

时间:2014-11-19 10:16:49

标签: javascript angularjs

这就是我想要的:设置一个依赖于属性键的值。钥匙可以是扁平的,例如'名称'或对象,例如'business.mobile'(嵌套)。 出了什么问题:它适用于平键,但不适用于嵌套属性。 这是我到目前为止所尝试的内容:

var prop = <a property>;

var nestedKey; // e.g. for business.mobile
var value;
// nested properties
if ((prop.key).toString().indexOf('.') !== -1) {
  nestedKey = prop.key.split('.');
} else {
  // flat properties
  value = $scope.modalModel[prop.key];
}

$scope.formProperties.push({
  name: prop.key,
  value: $scope.modalModel[value || nestedKey[0]][nestedKey[1]],
});

这里我们对“数组样式”进行了微小的转换。如果没有此转换,则不接受嵌套属性。

1 个答案:

答案 0 :(得分:0)

使用以下过程:

  • 创建一个级别的逻辑
  • 在JSON.parse回调中包装逻辑
  • 在数据
  • 上调用JSON.stringify
  • 在JSON.stringify
  • 的结果上调用JSON.parse