㈠ javaScript 如何定義一個二維數組
方法一:
定義已知長度的二維數組,可直接定義並且初始化
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]
方法二:
定義未知長度的二維數組
vartArray = newArray(); //先聲明一維數組
for(vark=0;k<i;k++)//一維數組長度為i,i為變數,可以根據實際情況改變
{
tArray[k]=newArray(); //聲明二維,每一個一維數組裡面的一個元素都是一個數組
for(varj=0;j<p;j++)//一維數組裡面每個元素數組可以包含的數量p,p也是一個變數
{
tArray[k][j]="1"; //這里將變數初始化,我這邊統一初始化為1
}
}
(1)js怎麼定義數據擴展閱讀:
JavaScript多維數組的創建:
<script>
varallarray=newArray();
varres="";
functionloaddata()
{
for(vari=0;i<3;i++)
{
varstarth=i*200;
varstrarw=i*200;
varendh=(i+1)*200;
varendw=(i+1)*200;
allarray[i]=newArray();
allarray[i][0]=newArray();
allarray[i][1]=newArray();
allarray[i][0][0]=starth;
allarray[i][0][1]=strarw;
allarray[i][1][0]=endh;
allarray[i][1][1]=endw;
}
for(vari=0;i<allarray.length;i++)
{
varsh=allarray[i][0][0];
varsw=allarray[i][0][1]
vareh=allarray[i][1][0];
varew=allarray[i][1][1]
res+="第"+i+"個坐標的開始坐標是:"+sh+","+sw+"結束坐標是:"+eh+","+ew+"<br/>";
}
document.getElementById("dv").innerHTML=res;
}
</script>。
㈡ 在js中先定義一個空數組 用來存儲獲取的數據,如下,怎麼知道數組獲取數據的具體內容呢
var arrPic = {}; //定義一個空數組保存初始的長與寬
你把這個對象定義到全局中,比如這么寫
var arrPic = {}; //定義一個空數組保存初始的長與寬
$(".p_Lst").each(function(index) {
var $this = $(this); //獲取每個外框Div
var $img = $this.find("img"); //查找其中的圖片元素
var $info = $this.find(".p_Alt"); //查詢其中的圖片信息元素
arrPic.imgw = $img.width();
arrPic.imgh = $img.height();
arrPic.orgw = $this.width();
arrPic.orgh = $this.height();
},
讓後你把arrPic列印出來,你這樣去試一下,應該沒什麼問題
㈢ js如何定義二維數組,一維的key為動態值。就是要處理二級菜單顯示。
懂字典或map的概念嗎:
你需要的應該 是這樣的數據結構:
varmenu={
"submenu1":[
{"name":"item1","id":"1","link":"
},
{"name":"item2","id":"2","link":"
}
],
"submenu2":[
{"name":"item1","id":"1","link":"
},
{"name":"item2","id":"2","link":"
}
],
}
//定義菜單方法
varmenu={};
//動態添加子菜單:
menu["submenu3"]=[];
//刪除某個子菜單項
menu["submenu3"]=undefined;
//往子菜單中添加條目
menu["submenu3"].push({"name":"item1","id":"1","link":"
});
//刪除一個條目
menu["submenu3"].splice(1,1);
//修改條目
menu["submenu3"][0]["link"]="
//查詢條目屬性
varitemName=menu["submenu3"][0]["name"];
//遍列整個菜單
for(varkeyinmenu){
console.log("key="+key);
varitems=menu[key];
for(vari=0;i<items.length;i++){
//後面的寫法沒錯,體現的是js的靈活性
console.log("items["+i+"].name="+items[i]["name"]);
console.log("items["+i+"].link="+items[i].link);
}
}
㈣ echarts 怎樣用js自定義圖表數據
引入ECharts
echarts提供多種引入方式,請根據你的項目類型選擇合適的方式:
模塊化包引入
如果你熟悉模塊化開發,你的項目本身就是模塊化且遵循AMD規范的,那引入echarts將很簡單,使用一個符合AMD規范的模塊載入器,如esl.js,只需要配置好packages路徑指向src即可,你將享受到圖表的按需載入等最大的靈活性,由於echarts依賴底層zrender,你需要同時下載zrender到本地,可參考demo,你需要配置如下。
需要注意的是,包引入提供了開發階段最大的靈活性,但並不適合直接上線,減少請求的文件數量是前端性能優化中最基本但很重要的規則,務必在上線時做文件的連接壓縮。
//from echarts example
require.config({
packages: [
{
name: 'echarts',
location: '../../src',
main: 'echarts'
},
{
name: 'zrender',
location: '../../../zrender/src', // zrender與echarts在同一級目錄
main: 'zrender'
}
]
});
模塊化單文件引入(推薦)
如果你使用模塊化開發但並沒有自己的打包合並環境,或者說你不希望在你的項目里引入第三方庫的源文件,我們建議你使用單文件引入,同模塊化包引入一樣,你需要熟悉模塊化開發。
自2.1.8起,我們為echarts開發了專門的合並壓縮工具echarts-optimizer。如你所發現的,build文件夾下已經包含了由echarts-optimizer生成的單文件:
dist(文件夾) : 經過合並、壓縮的單文件
line.js : 折線圖(如需折柱動態類型切換,require時還需要echarts/chart/bar)
bar.js : 柱形圖(如需折柱動態類型切換,require時還需要echarts/chart/line)
scatter.js : 散點圖
k.js : K線圖
pie.js : 餅圖(如需餅漏斗圖動態類型切換,require時還需要echarts/chart/funnel)
radar.js : 雷達圖
map.js : 地圖
force.js : 力導向布局圖(如需力導和弦動態類型切換,require時還需要echarts/chart/chord)
chord.js : 和弦圖(如需力導和弦動態類型切換,require時還需要echarts/chart/force)
funnel.js : 漏斗圖(如需餅漏斗圖動態類型切換,require時還需要echarts/chart/pie)
gauge.js : 儀表盤
eventRiver.js : 事件河流圖
treemap.js : 矩陣樹圖
venn.js : 韋恩圖
echarts.js : 這是包含AMD載入器的echarts主文件,需要通過script最先引入
chart(文件夾) : echarts-optimizer通過依賴關系分析同時去除與echarts.js的重復模塊後為echarts的每一個圖表類型單獨打包生成一個獨立文件,根據應用需求可實現圖表類型按需載入
source(文件夾) : 經過合並,但並沒有壓縮的單文件,內容同dist,可用於調試
採用單一文件使用例子見ECharts單一文件引入,存放在example/www下,首先你需要通過script標簽引入echarts主文件
在主文件引入後你將獲得一個AMD環境,配置require.conifg如下:
require.config配置後就可以通過動態載入使用echarts
總結來說,模塊化單文件引入ECharts,你需要如下4步:
為ECharts准備一個具備大小(寬高)的Dom(當然可以是動態生成的)
通過script標簽引入echarts主文件
為模塊載入器配置echarts的路徑,從當前頁面鏈接到echarts.js所在目錄,見上述說明
動態載入echarts及所需圖表然後在回調函數中開始使用(容我羅嗦一句,當你確保同一頁面已經載入過echarts,再使用時直接require('echarts').init(dom)就行)
詳見入門教程 ( Getting started ) »
標簽式單文件引入
自1.3.5開始,ECharts提供標簽式引入。如果你的項目本身並不是基於模塊化開發的,或者是基於CMD規范(如使用的是seajs),那麼引入基於AMD模塊化的echarts可能並不方便,我們建議你採用srcipt標簽式引入,忘掉require。Srcipt標簽引入echarts後將可以直接使用兩個全局的命名空間:echarts,zrender,可參考ECharts標簽式引入,需要注意的是excanvas依賴body標簽插入Canvas節點去判斷Canvas的支持,如果你把引用echarts的script標簽放置head內在IE8-的瀏覽器中會出現報錯,解決的辦法就是把標簽移動到body內(後)。
標簽式引入環境中,常用模塊的引用可通過命名空間直取,同模塊化下的路徑結構,如:
echarts.config = require('echarts/config'), zrender.tool.color = require('zrender/tool/color')