1

我有一个二维数组,我不想修改它以在函数中使用它。

其中一个元素必须是 html 代码的链接。所以我想知道我可以进行这种条件转换。

  1. 该数组是二维数组名[i][j]。我毫无疑问地被圈住了。
  2. 每个元素都进入新数组,除了一个。(长度 - 2 个位置)
  3. 异常项目必须转换为 html 链接。

我正在尝试类似的东西:

 [for( j = 0, j < arrayName[0].length, j++ )
  if (j <> arrayName[i].lenght - 2 ) arrayName[i][j] else "link things"
  ]

我也尝试:

[for (j=0, j<arrayName[i].length,j++)
 function(j){if (j <> arrayName[i].length - 2 ){
             return arrayName[i][j];}
             else{ return "link thing";})}
 ]

当然“链接的东西”应该是一个字符串:

'<a href=\"'+ array[i][j] + '\">Link.</a>'

但我没有通过调试。

4

2 回答 2

1

如果您知道需要更改的位置,为什么还要遍历数组项?为什么不直接更改索引项的值length - 2

所以像:

var arrayName = [...]; // your multi-dimesional array

// modify arrayName in place
for (i = 0; i < arrayName.length; i++) { // iteration over outer array
    var targetIndex = arrayName[i].length - 2;
    arrayName[i][targetIndex] = '<a href=\"'+ array[i][targetIndex] + '\">Link.</a>';
}
于 2013-11-13T22:04:49.020 回答
0

你一个用途splice

for ( var i = 0, len = arrayName.length; i < len; ++i ) {
    var link = '<a href=\"'+ arrayName[i].splice(arrayName[i].length-2, 1)[0] + '\">Link.</a>';
    /* do somethink with link */
}

也许您应该检查是否arrayName[i].length-2 >= 0以避免可能的错误。

于 2013-11-13T22:08:53.903 回答