通用JS(一)

遍历数组forEach

var fruits = ['Apple', 'Banana'];

fruits.forEach(function(item,index,fruits) {

console.log(item,index);

})

// Apple 0

// Banana 1

添加元素到数组的末尾

var newArray = fruits.push('Orange');

// ["Apple", "Banana", "Orange"]

添加元素到数组的头部

var newArray = fruits.unshift('Orange');

// ["Orange","Apple", "Banana"]

删除数组末尾的元素

var first = fruits.pop();

删除数组首个元素

var first = fruits.shift();

找出某个元素在数组中的索引

fruits.push('Mango');

// ["Strawberry", "Banana", "Mango"]

var pos = fruits.indexOf('Banana');

// 1

通过索引删除某个元素

var removedItem = fruits.splice(pos,1);

// ["Strawberry", "Mango"]

从一个索引位置删除多个元素

var vegetables = ['Cabbage', 'Turnip', 'Radish', 'Carrot'];
console.log(vegetables); 
// ["Cabbage", "Turnip", "Radish", "Carrot"]

var pos = 1, n = 2;

var removedItems = vegetables.splice(pos, n); 
// this is how to remove items, n defines the number of items to be removed,
// from that position(pos) onward to the end of array.

console.log(vegetables); 
// ["Cabbage", "Carrot"] (the original array is changed)

console.log(removedItems); 
// ["Turnip", "Radish"]

复制一个数组
var shallowCopy =
fruits.slice()


属性
Array.length
Array 构造函数的length属性,其值为(注意该属性为静态属性,不是数组实例的length属性)
get Array[@@species]返回Array构造函数
Array.prototype 通过数组的原型对象可以为所有数组添加属性
方法
Array.from() 从数组对象或者可迭代对象中创建一个新的数组实例。Array.isArray()用来判断某个变量是否是一个数组。
Array.of()根据一组参数来创建新的数组实例,支持任意的参数数量和类型。
数组实例
所有数组实例都会从 Array.prototype 继承属性和方法。修改Array的原型会影响到所有的数组实例。

属性
Array.prototype.constructor 所有的数组实例都继承了这个属性,他的值就是Array,表明了所有的数组都是由Array构造出来的。

Array.prototype.length 上面说了,因为 Array.prototype 也是个数组,所以他也有 length属性,这个值为0,因为他是个空数组。
方法
修改器方法
这些方法会改变数组:
Array.prototype.copyWithin()在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。
Array.prototype.fill() 将数组中指定区间的所有元素的值,都替换成某个固定的值。
Array.prototype.pop() 删除数组的最后一个元素,并返回这个元素。
Array.prototype.push() 在数组的某位增加一个或多个元素,并返回数组的新长度
Array.prototype.reverse() 颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。
Array.prototype.shift()删除数组的第一个元素,并返回这个元素。
Array.prototype.sort()对数组元素进行排序,并返回当前数组。
Array.prototype.splice()在任意的位置给数组添加或删除任意个元素。
Array.prototype.unshift()在数组的开头增加一个或多个元素,并返回数组的新长度。

分割字符串split
限制返回值中的分割元素数量
下例中,split 查找字符串中的 0 或多个空格,并返回找到的前 3 个分割元素(splits)。
var myString = "Hello World. How are you doing?";
var splits = myString.split(" ", 3);
console.log(splits);
//
["Hello", "World.", "How"]

靠正则来分割使结果中包含分隔块
如果 separator 包含捕获括号(capturing parentheses),则其匹配结果将会包含在返回的数组中。
var myString = "Hello 1 word. Sentence number 2.";
var splits = myString.split(/(\d)/);

console.log(splits);
//[ "Hello ", "1", " word. Sentence number ", "2", "." ]

用split()来颠倒字符串顺序
const str = 'asdfghjkl';
const strReverse = str.split('').reverse().join(''); // 'lkjhgfdsa'
 
 
 
posted @ 2020-10-23 11:00  举个栗子走天下  阅读(170)  评论(0编辑  收藏  举报