Javascript 在我的例子中,将数组转换为对象的方法
我经常面临这个问题,我厌倦了编写转换函数 我能行Javascript 在我的例子中,将数组转换为对象的方法,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我经常面临这个问题,我厌倦了编写转换函数 我能行 function toObject(arr) { var rv = {}; for (var i = 0; i < arr.length; ++i) rv[i] = arr[i]; return rv; } 我正在使用chrome API,其中链接是obj: chrome.tabs.create(obj, function(tab) { }); 在ES5浏览器中,您可以执行以下操作: var obj = {};
function toObject(arr) {
var rv = {};
for (var i = 0; i < arr.length; ++i)
rv[i] = arr[i];
return rv;
}
我正在使用chrome API,其中链接是obj:
chrome.tabs.create(obj, function(tab) {
});
在ES5浏览器中,您可以执行以下操作:
var obj = {};
[0,1,2].forEach(function(v, i){obj[i] = v});
或
[0,1,2].forEach(function(v, i, arr){this[i] = v}, obj);
作为一项功能:
function toObj(arr) {
var obj = {};
arr.forEach(function(v, i){obj[i] = v});
return obj;
}
如果传入的对象可能不是数组,而是属性为0到n的对象,则:
function toObj(arr) {
var obj = {};
[].forEach.call(arr, function(v, i){obj[i] = v});
return obj;
}
数组是对象。;-)
function toObj(arr) {
var obj = {};
[].forEach.call(arr, function(v, i){obj[i] = v});
return obj;
}