美文网首页
无标题文章

无标题文章

作者: xu9025476 | 来源:发表于2017-09-02 20:44 被阅读0次

数组

var myArray = ["good",123];     创建一个包含 字符串 和 数字 的数组 myArray。
var ourArray = [["the universe", 42], ["everything", 101010]];     也可以在数组中包含其他数组这被称为一个多维数组。


可以把 多维 数组看作成是一个 数组中的数组。arr[i][j]   i是第几个数组j是第几个数组中的第几个元素
例如
var arr = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [[10,11,12], 13, 14]
];
arr[0]; // 等于 [1,2,3]
arr[1][2]; // 等于 6
arr[3][0][1]; // 等于 11

.unshift() 接受把一个或多个参数,并把它“推”入到数组的头部。
.push() 接受把一个或多个参数,并把它“推”入到数组的末尾。
var arr = [1,2,3];
arr.push(4);
// 现在arr的值为 [1,2,3,4]


.shift()函数用来“抛出”一个数组第一位的值
.pop() 函数用来“抛出”一个数组末尾的值。我们可以把这个“抛出”的值赋给一个变量存储起来。
var oneDown = [1, 4, 6].pop();
现在 oneDown 的值为 6 ,数组变成了 [1, 4]。


map方法迭代数组,这个方法不会改变原始数组
var oldArray = [1,2,3,4,5];
var timesFourArray = oldArray.map(function(val){  参数val是数组中元素的值
  return val * 4;   返回 4 8 12 16 20
});

reduce 方法迭代数组,并且把它累积到一个值中。
var array = [4,5,6,7,8];
var singleVal = 0;
singleVal = array.reduce(function(CalculatedVal, currentVal){  function(CalculatedVal, currentVal)这个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值,CalculatedVal为数组中的第一项,currentVal为第二项
  return previousVal+currentVal;   返回 array 中的所有值相加的值 CalculatedVal=4+5=9, 9+6=15, 15+7=22, 22+8=30
});

filter方法迭代数组,并且按给出的条件过滤出符合的元素。不会改变原始数组。
var oldArray = [4,5,6,7,8];
var newArray = oldArray.filter(function(val){
  return val<6;  返回数组中小于6的项,移除数组中大于等于6的项
});

sort 方法对数组中的元素进行排序。
var array = [1, 12, 21, 2];
array.sort(function(a, b) {    function(a, b)为一个比较函数,sort 可以把比较函数作为参数传入
  return a - b;    按照从小到大的顺序进行排列,return b-a 为从大到小
});

reverse 方法来翻转数组 (改变自身)
var myArray = [1, 2, 3];
myArray.reverse();   结果myArray 变成了 [3, 2, 1]

concat 方法可以用来合并数组
var oldArray = [1,2,3];
var newArray = [];
var concatMe = [4,5,6];
newArray = oldArray.concat(concatMe);   将 concatMe 拼接到 oldArray 后面


split 方法按指定分隔符将字符串分割为数组。
var string = "Split me into an array";
var array = string.split(" ");    按照空格" "进行分割


join 方法来把数组转换成字符串
var veggies = ["Celery", "Radish", "Carrot", "Potato"];
var salad = veggies.join(" and ");  用指定的连接符" and "来连接起来
console.log(salad);    输出"Celery and Radish and Carrot and Potato" 


slice() 方法可从已有的数组/字符串中返回选定的元素。 该方法并不会修改数组/字符串
array.slice(start,end)      包括start,不包括end
string.slice(start,end)
参数描述start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。


splice() 方法向数组中添加/删除项目,然后返回被删除的项目。 该方法会改变原始数组。
array.splice(index,howmany,item1,.....,itemX)
参数描述index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。item1, ..., itemX可选。向数组添加的新项目。


indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
string.indexOf(searchvalue,fromindex)
searchvalue 必需。规定需检索的字符串值。
fromindex   可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string.length - 1。如省略该参数,则将从字符串的首字符开始检索。
如果要检索的字符串值没有出现,则该方法返回 -1。
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
//0    -1     6


排序
arr.sort()   默认排序顺序是根据字符串Unicode码点
var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort(); 
// ['apples', 'bananas', 'cherries']

arr.sort(compareFunction)   
如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:
  ● 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;
  ● 如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变
  ● 如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前。
  ● function compare(a, b) {
  if (a is less than b by some ordering criterion) {
    return -1;
  }
  if (a is greater than b by the ordering criterion) {
    return 1;
  }
  // a must be equal to b
  return 0;
}
如果比较数字,
function compareNumbers(a, b) {    升序排列
  return a - b;
}
arr.sort(compareNumbers)
或者
arr.sort(function(a, b) {
  return a - b;
});

相关文章

  • 无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章 无标题文章无标题文章无标题文章无...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • fasfsdfdf

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章

  • 无标题文章

    无标题文章 无标题文章 无标题文章无标题文章 无标题文章 无标题文章

网友评论

      本文标题:无标题文章

      本文链接:https://www.haomeiwen.com/subject/znirjxtx.html