将附加路径信息添加到每个javascript对象的最佳方法是什么?像每个jpg名称之前的“assets / img / upload /”?我有url =“assets / img / upload / 02.jpg”等?那将是很有帮助的!
我现在的数据:
[Object { url="02.jpg"},
Object { url="03.jpg"},
Object { url="09.jpg"},
Object { url="04.jpg"},
Object { url="5.jpg"}
...]
答案 0 :(得分:1)
一个简单的for循环:
for(var i = 0; i < array.length; i++)
{
array[i].url = "assets/img/upload/" + array[i].url;
}
答案 1 :(得分:1)
假设您的对象数组名为MyArray:
for (var i = 0, LoopTimes = MyArray.length; i < LoopTimes; i++) {
MyArray[i].url = "assets/img/upload/" + MyArray[i].url;
}
请注意:
a)开口大括号与for
语句位于同一行。有关解释,请参阅Youkube上的Javascript The Good Parts上的Crokfod。在javascript中,将左大括号放在下一行可能会产生一些难以察觉的奇怪错误。
b)我在LoopTimes中缓存MyArray的长度,这样我就不必在每次迭代时评估数组的长度。
答案 2 :(得分:0)
如果您只想在现代浏览器中运行此代码,则始终可以考虑使用map
对象的Array
方法。
假设您的对象数组名为“array”
array.map(function(item) {return item.url = "assets/img/upload/" + item.url;});
这将运行匿名函数,该函数接受数组中的“item”,并在数组的每个元素上返回修改后的url字段。
如果您需要在旧版浏览器上运行代码,请坚持使用其他贡献者建议的for循环。