1. js中如何獲取php數組
js中獲取php數組的代碼如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
2. JS中如何獲取數組中的一部分元素
js獲取數組中的一部分元素,有2種方法:slice和filter函數,下面分別介紹。
slice的定義和內用法如下,用於截取數組的一容段
3. JS數組方法
數組的創建方式
1.字面量的形式: var arr=[1,2,3];
1.構造函數: var arr1=new Array();//不常用
Array構造函數有一個很大的缺陷,就是不同的參數,會導致它的行為不一致。
1.單個數值作為參數,參數表示數組的元素個數
可以看到,Array作為構造函數,行為很不一致。因此,不建議使用它生成新數組,直接使用數組字面量是更好的做法。
push/pop/unshift/shift//增加、刪除元素 (數組的方法,所以使用時應調用
數組名.方法名())
arr. slice/splice//截取元素
arr.slice(); 原數組不發生改變
無參數時,返回原數組,相當於數組的復制。
一個參數時,從參數作為下標的元素截取,至數組結束。
二個參數時,從第一個參數作為下標(索引)的元素開始截取,到第二個參數作為下標的元素結束,但不包括第二個參數作為下標的函數。 (起始元素包含,結尾元素不包含)
多個參數時,前兩個參數起效,後邊的參數無效。
arr.splice(); 原數組改變
無參數時,返回空數組。
一個參數時,從參數作為下標的元素截取,至數組結束。
二個參數時,從第一個參數作為下標(索引)的元素開始截取,即表示截取的起始位置,第二個參數表示截取的元素個數。
多個參數時,前兩個參數起效,後邊的參數從原數組的截取起始位置開始填充,填充到原數組。
reverse/sort//改變元素位置
arr.reverse(); //數組翻轉(元素位置顛倒)
arr.sort(); 從小到大排序,但遵循的是字元串的按位比較規則,所以排序結果容易出現異常。
join();//不改變原數組
join() 以指定參數作為連接符,將所有數組成員連接為一個字元串返回。如果不提供參數,默認用逗號分隔。
concat();//拼接數組 不改變原數組
ES5新增數組操作方法
indexOf (item) 返回元素在數組中對應的索引值,找不到的話,返回-1,用以測試元素是否存在於數組中
forEach(function(item,index)) 遍歷數組,沒有返回值
map(function(item,index)) 遍歷數組,存在返回值
filter(function(item)) {return item>2} 返回大於2的元素
some 返回布爾值,條件部分成立|| arr.some(function(item){return item>2} )
every 返回布爾值,條件全部成立&& arr.every(function(item){return item>2} )
rece (對數組中的所有元素調用指定的回調函數。該回調函數的返回值為累積結果,並且此返回值在下一次調用該回調函數時作為參數提供。)arr.rece(function(a,b){return a+b;});
toString()和toLocaleString()
功能:將數組的每個元素轉化為字元串,並且輸出用逗號分隔的字元串列表。功能類似join();
參數:無
輸出:字元串
indexOf()和lastIndexOf()
功能:搜索整個數組中具有給定值的元素,返回找到的第一個元素的索引或者如果沒有找到就返回-1;lastIndexOf為反向搜索。
參數:元素的值,起點索引(可選)
輸出:索引值或-1
Array.from()
功能:將兩類對象轉為真正的數組:類似數組的對象和可遍歷的對象
參數:待轉換的對象,第二個參數可選,作用類似於數組的map方法,用來對每個元素進行處理,將處理後的值放入返回的數組。
輸出:數組
Array.of()
功能:將一組值,轉換為數組。
參數:數組元素
輸出:數組
Within()
功能:在當前數組內部,將指定位置的成員復制到其他位置,返回變化後的數組。
參數:索引(從該位置開始替換數據);索引(從該位置開始讀取數據,默認為0,負值表示倒數);索引(到該位置前停止讀取,默認為最大索引)
輸出:返回當前替換後的數組。
注意:改變了當前數組
find()和findIndex()
功能:找到第一個符合條件的數組成員。
參數:回調函數,所有數組成員依次執行該函數,直到找到第一個返回值為true的成員。回調函數可以接受三個參數,依次為值,位置,原數組。
輸出:find()返回找到的成員;findIndex()返回成員的位置。
fill()
功能:使用給定的值,填充一個數組。
參數:第一個參數為待填充的值,第二和第三參數可選,分別表示填充的起始和結束位置(不包括)。
輸出:填充後的數組
entries()、keys()、values()
功能:用於遍歷數組,可以用for…of循環進行遍歷。區別是keys()是對鍵名的遍歷、values是對鍵值的遍歷、entries()是對鍵值對的遍歷。
參數:無
輸出:遍歷器對象
includes()
功能:表示某個數組是否包含給定的值
參數:第一個參數必選(待檢查的給定值),第二個參數可選,表示搜索的起始位置,默認為0,負數表示倒數的位置。
輸出:一個布爾值。
注意:和indexOf的區別,indexOf進行了運算符的強比對,會導致對NaN誤判。
4. js里如何從數組中獲取值
var arr=[2,4,5,3,5,3,0];
var arrvalue;//用於存放取出的數組的值
for(var i=0;i<arr.length;i++){
arrvalue=arr[i];//數組的索引是從0開始的
console.log(arrvalue);//把取出的值列印在控制台上
}
js 獲取數組中的最大值和最小值
var arr = [3,12,23,18,25,33,22,30,1]
方案一: 思想 首先對數組進行排序(小 》大),第一項為最小值,最後一項為最大值
var min;
var max;
arr.soft(function(a,b){return a-b;})
min = arr[0];
max = arr[arr.length-1];
方案二:採用Math對象里的min()方法和 max()方法,需要將比較的數一個一個的傳遞進來才能比較,但是可以通過以下方式轉化即可;
var min = Math.min(arr);
console.log(min) // NAN
console.log(Math.min(3,12,23,18,25,33,22,30,1)) // 1
console.log(Math.max(3,12,23,18,25,33,22,30,1)) // 33
var min =eval("Math.min(" +arr.toString()+")"); // 1 採用字元串拼接
var min = eval("Math.max(" +arr.toString()+")");; // 33
var min = Math.min.apply(obj,arr) // 1 利用apply方法一項一項傳質的特點
var max =Math.max.apply(obj,arr) // 33
5. js 如何高效的找到數組中的某一項
1、如果知道抄數組下標,直接 arr[index]方式獲取
2、假設不知道數組下標,查找某一項值,例如: 數組 arr = ['red', 'green', 'yellow', 'green', 'blue'];查找 green:
var myFirstIndex = Array.indexOf(arr, "green"); // 返回1
indexOf查找指定項的索引位置。 返回的索引是在 item 中指定的項的第一次出現。 如果找不到,則返回-1。再次調用該函數,並指定大於所找到元素的索引的起始索引值,可查找 item 的下一次出現。例如:
var mySecondIndex = Array.indexOf(Array, "green", (myFirstIndex + 1) ); // 返回3
6. js 中如何取出數組中的值
var arr=[2,4,5,3,5,3,0];
var arrvalue;//用於存放取出的數組的值
for(var i=0;i<arr.length;i++){
arrvalue=arr[i];//數組的索引是從0開始的
console.log(arrvalue);//把取出的值列印在控制台上
}
js 獲取數組中的最大值和最小值
var arr = [3,12,23,18,25,33,22,30,1]
方案一: 思想 首先對數組進行排序(小 》大),第一項為最小值,最後一項為最大值
var min;
var max;
arr.soft(function(a,b){return a-b;})
min = arr[0];
max = arr[arr.length-1];
方案二:採用Math對象里的min()方法和 max()方法,需要將比較的數一個一個的傳遞進來才能比較,但是可以通過以下方式轉化即可;
var min = Math.min(arr);
console.log(min) // NAN
console.log(Math.min(3,12,23,18,25,33,22,30,1)) // 1
console.log(Math.max(3,12,23,18,25,33,22,30,1)) // 33
var min =eval("Math.min(" +arr.toString()+")"); // 1 採用字元串拼接
var min = eval("Math.max(" +arr.toString()+")");; // 33
var min = Math.min.apply(obj,arr) // 1 利用apply方法一項一項傳質的特點
var max =Math.max.apply(obj,arr) // 33
7. JS 用變數作為關聯數組的索引
關聯數組類似對象,遍歷關聯數組,可以用for...in語法:
for(varkeyindata){
console.log(key+':'+data[key]);
}