如果想將對象數(shù)組轉(zhuǎn)換成map集合,需要用到es6的語法。
成都創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元綏寧做網(wǎng)站,已為上家服務(wù),為綏寧各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
比如對象數(shù)組為let arr = [{a:1,b:2},{a:3,b:4}];
首先我們要獲取arr中每個對象的key和value,這里我們可以結(jié)合map和Object.entries()兩個方法來實現(xiàn)。
let result = [];
arr.map(o={
let map = new Map();
for(let [k, v] of Object.entries(o)){
map.set(k, v);
}
result.push(map);
});
最終result就是轉(zhuǎn)換后的map集合了。
所謂類數(shù)組對象,通俗的說就是具有數(shù)組的某些特性,使用上非常類似于數(shù)組。
比如使用getElementsByTagName()方法獲取的dom元素集合,下面就介紹一下如何利用jQuery將其轉(zhuǎn)換為數(shù)組。
代碼實例如下:
!DOCTYPE?html
html
head
meta?charset="?utf-8"
meta?name="author"?content=""?/
title/title
script?src="jquery.js"/script
script?type="text/javascript"
$(function(){
$("#bt").click(function(){
var?lis=document.getElementsByTagName("li");
var?arr=$.makeArray(lis);
arr.reverse();
$(arr).appendTo(document.body);
})
});
/script
/head
body
input?type="button"?id="bt"?value="查看效果"/
ul
li今天天氣很冷/li
li陳雨/li
/ul
/body
/html
程序代碼如下:
script type="text/javascript"
function test(){
alert(arguments)
arguments = Array.prototype.slice.call(arguments);
alert(arguments instanceof Array);
alert(arguments)
}
test(1,2,3,4);
//※※※※※※※※※※※測試2※※※※※※※※※※※※※※
var htmlcollection = document.getElementsByTagName("h3");
alert(htmlcollection)
try{
htmlcollection = Array.prototype.slice.call(htmlcollection);
alert(htmlcollection instanceof Array);
alert(htmlcollection);
}catch(e){
alert(e)
}
//※※※※※※※※※※※測試3※※※※※※※※※※※※※※
var sheets = document.styleSheets;
alert(sheets)
try{
sheets = Array.prototype.slice.call(sheets);
alert(sheets instanceof Array);
alert(sheets);
}catch(e){
alert(e)
}
alert(arrayLike)
arrayLike = Array.prototype.slice.call(arrayLike);
alert(arrayLike instanceof Array);
alert(arrayLike);
/script
jQuery對象是一組元素的集合,不是一個的。而offset方法沒有each。因為每個元素的偏移可能不一樣。你應(yīng)該這樣用each取得每個元素的偏移: img.each(function() { var offsetTop = $(this).offset().top; console.log(offsetTop); })這樣會在控制.
直接用js的eval方法就可以了
var?a?=?eval("[{age:18,?name:"cheng"}]");