Javascript——js常用的方法(一)...........

push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
此方法改变数组的长度。
在数组起始位置添加元素请使用 unshift() 方法。

1.push方法是数组中的
var arr = []
var length = arr.push('first')
console.log(arr) // ['first']
console.log(length)  // 1 push方法会改变原有数组,且返回改变后数组的长度

2.尝试添加各种元素
var arr =  []
arr.push({})
console.log(arr)  // [Object] 
arr.push([],{},'str',1,null,undefined) // 添加多个元素用逗号隔开
console.log(arr) // Array, Object, 1, null, undefined

3.添加多个元素,ES6扩展运算符
var arr = [1,2,3]
var nArr = ['first', 'second', 'third'] // 想依次添加每个值到数组中
// arr.push(nArr) 如果这样添加会给arr添加多一个数组元素,arr.length = 4 
arr.push(...nArr) ES6的方法数组扩展 
console.log(arr) //  [1,2,3,'first', 'second', 'third']
// 这种扩展方法仅对Array有效


includes()

返回布尔值
语法:
string.includes(searchvalue, start)
第一个参数必需,要查找的字符串。
第二个参数可选,设置从那个位置开始查找,默认为 0。

1.数组
includes 可以判断一个数组中是否包含某一个元素,并返回true 或者false['a','b','c'].includes('a')
true

['a','b','c'].includes(1)
false

2.字符串
  查找字符串是否包含 "Runoob":

  var str = "Hello world, welcome to the Runoob。"; 
  var n = str.includes("Runoob");
  n 输出结果:
  true

filter()

filter() 方法返回一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。 filter() 不会改变原始数组。

// 新增时去掉表格里的某一字段
        let removeData = this.dataForm.filter(v => {
          return v !== 'deviceNo';
        });
        

Map()方法

Array.prototype.map():
map()方法创建一个新数组,
返回值:
一个由原数组每个元素执行回调函数的结果组成的新数组。


语法:
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
 // Return element for new_array
}[, thisArg])

callback(函数会被自动传入三个参数:数组元素,元素索引,原数组本身。)
生成新数组元素的函数,使用三个参数:
 	currentValue 数组中正在处理的当前元素
    index可选,数组中正在处理的到期元素的索引
	array可选,map 方法调用的数组。
    thisArg可选,执行 callback 函数时值被用作this。



eg:

1.使用map重新格式化数组中的对象
var kvArray = [{key: 1, value: 10},
               {key: 2, value: 20},
               {key: 3, value: 30}];

var reformattedArray = kvArray.map(function(obj) {
   var rObj = {};
   rObj[obj.key] = obj.value;
   return rObj;
});
console.log(reformattedArray)
// reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}],

// kvArray 原数组未被修改:
// [{key: 1, value: 10},
//  {key: 2, value: 20},
//  {key: 3, value: 30}],


eg:下面的例子演示如何在一个 String 上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

var map = Array.prototype.map
var a = map.call("Hello World", function(x) {
  return x.charCodeAt(0);
})
// a 的值为 [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

foEach()方法

foreach()方法被调用时不会改变原数组,返回原数组。
描述:
forEach() 方法按升序为数组中含有效值的每一项执行一次 callback 函数,那些已删除或者未初始化的项将被跳过。(注:比如应该数组程度为4,我只想循环到长度为2的截止foreach是不行的,for in可以)

'语法:'
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])

currentValue:数组中正在处理的当前元素
index 可选,数组中正在处理的当前元素的索引。
array 可选,forEach() 方法正在操作的数组。

备注: 除了抛出异常以外,没有办法中止或跳出 forEach() 循环。如果你需要中止或跳出循环,forEach() 方法不是应当使用的工具。
若你需要提前终止循环,你可以使用:
一个简单的 for 循环
for…of / for…in 循环
Array.prototype.every()
Array.prototype.some()
Array.prototype.find()
Array.prototype.findIndex()
只要条件允许,也可以使用 filter() 提前过滤出需要遍历的部分,再用 forEach() 处理。

1.for循环转换为foreach循环:
    const items = ['item1', 'item2', 'item3'];
    const copy = [];

    // before
    for (let i=0; i<items.length; i++) {
      copy.push(items[i]);
    }

    // after
    items.forEach(function(item){
      copy.push(item);
    });



2.如果使用 promise 或 async 函数作为 forEach() 等类似方法的 callback 参数,最好对造成的执行顺序影响多加考虑,否则容易出现错误。
let ratings = [5, 4, 5];

let sum = 0;

let sumFunction = async function (a, b) {
    return a + b;
}

ratings.forEach(async function(rating) {
    sum = await sumFunction(sum, rating);
})

console.log(sum);
// Expected output: 14
// Actual output: 0

split() 一个字符串分割成字符串数组

注意: split() 方法不改变原始字符串。

var str="How are you doing today?";
var n=str.split(" ");
console.log(n)//How,are,you,doing,today?


var str1="122,供热,769567693933252608,用地"
var  arr=str1.split(",")
console.log(arr)//['122', '供热', '769567693933252608', '用地']

JSON.stringify()将对象、数组转换成字符串。

JSON的常规用途是同web服务器进行数据交换,在向web服务器发送数据时数据必须是字符串。
通过JSON.stringify()把js对象转换为字符串。

var obj = { name: "Bill", age: 62, city: "Seatle" };
//	{"name":"Bill","age":62,"city":"Seatle"}```

JSON.parse()将字符串转成 json 对象

JSON通常由于与服务器交换数据,接收服务器数据时一般是字符串。可以使用JSON.parse()方法将数据转换为js对象。

var str = '{"name":"小明","age":18}';
var obj = JSON.parse(str);
//	{name:"小明",age:18}```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值