我有一个2维数组,我不想修改它以在函数中使用它。
其中一个元素必须是html代码的链接。 所以我想我能做出这种条件转换。
- 数组是二维arrayName [i] [j]。我不知所措。
- 除了一个元素,每个元素都会转到新数组。 (长度 - 2位)
- 必须在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";})}
]
当然&#34;链接事物&#34;应该是一个字符串:
'<a href=\"'+ array[i][j] + '\">Link.</a>'
但我没有通过调试。
答案 0 :(得分: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>';
}
答案 1 :(得分: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
以避免可能的错误。