在将对象变量传递给网络图之前将其更改为缩写

时间:2016-06-25 19:14:19

标签: javascript d3.js

我有一个包含节点和边缘的数组,我想将每个公司的名称更改为缩写,例如Anglo American将是AA并从这些字符串中删除plc是否可以将此对象复制到另一个'var '然后调整数据并传递到d3.layout?

DefaultTableModel

及以下是同一物体的边缘。

array (size=2)
  'nodes' => 
    array (size=33)
      0 => 
        array (size=1)
          'name' => string 'Anglo American plc' (length=18)
      1 => 
        array (size=1)
          'name' => string 'Associated British Foods plc' (length=28)
      2 => 
        array (size=1)
          'name' => string 'Admiral Group plc' (length=17)
      3 => 
        array (size=1)
          'name' => string 'ARM Holdings plc' (length=16)
      4 => 
        array (size=1)
          'name' => string 'Aviva plc' (length=9)
      5 => 
        array (size=1)
          'name' => string 'BAE Systems plc' (length=15)
      6 => 
        array (size=1)
          'name' => string 'Barclays PLC' (length=12)

1 个答案:

答案 0 :(得分:2)

关于问题下的评论,这可能是最简单的解决方案(as line of code)



var data = [{
  'name': 'Anglo American plc'
}, {
  'name': 'Associated British Foods plc'
}, {
  'name': 'Admiral Group plc'
}, {
  'name': 'ARM Holdings plc'
}, {
  'name': 'Aviva plc'
}, {
  'name': 'BAE Systems plc'
}, {
  'name': 'Barclays PLC'
}];

data.forEach(d => {d.name = d.name.split(' ').map(w => w[0]).join('')});

console.log(data);