js 小记

目录

1、数组的push()、pop()、shift()和unshift()
2、Object.assign()方法
3、concat() 方法
4、.map
5、JS中let和var 的区别
6、parseFloat((NumberObject).toFixed(2))

1、数组的push()、pop()、shift()和unshift()

栈和队列都是动态的集合,栈实现了后进先出,队列实现先进先出。
ECMAScript为数组专门提供了 push() 和 pop() 方法,以便实现类似栈的行为。 push() 方法是向数组末尾添加一个或者多个元素,并返回新的长度。而 pop() 方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项,如果数组变为空,则该方法不改变数组,返回undefine值。
 

var arr = [1,2,3]; //创建一个数组
arr.push(4); //将4添加到数组arr中
console.log(arr); // [1,2,3,4]
console.log(arr.length); // 4
arr.pop();
console.log(arr); //  // [1,2,3]


ECMAScript为数组专门提供了 unshift() 和 shift() 方法,以便实现类似队列的行为。unshift()方法是向数组的开头添加一个或多个元素,并且返回新的长度,shift()能够移除数组中的第一个项并返回该项,同时将数组长度减1,如果数组是空的,shift()方法将不进行任何操作,返回undefined的值。
 

var arr = []; //创建一个空的数组
arr.unshift(1,2,3,4); // 将1,2,3,4推入到数组arr
console.log(arr); // [1,2,3,4]
arr.shift(); // 取得第一项
console.log(arr); // [2,3,4]
arr.shift(); // 取得第一项
console.log(arr); // [3,4]


将push()和pop()结合在一起,就可以实现类似栈的行为。
 

//创建一个数组来模拟堆栈
var a=new Array();
//push: 在数组的末尾添加一个或更多元素,并返回新的长度
a.push(1)
console.log(a);//----->1
a.push(2);
console.log(a);//----->1,2
a.push(3);
console.log(a);//----->1,2,3
a.push(4);
console.log(a);//----->1,2,3,4
//pop:从数组中把最后一个元素删除,并返回这个元素的值
a.pop();//----->4
console.log(a);
a.pop();//----->3
console.log(a);
a.pop();//----->2
console.log(a);
a.pop();//----->1
console.log(a);

2、Object.assign()方法

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象
语法: Object.assign(target, ...sources);
参数:target: 目标对象
            sources: 源对象
返回值:目标对象

const object1 = {
  a: 1,
  b: 2,
  c: 3
};
const object2 = Object.assign({c: 4, d: 5}, object1);
console.log(object2.c, object2.d);
// expected output: 3 5


Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。
注意,Object.assign 不会跳过那些值为 [null] 或 [undefined]的源对象。

3、concat() 方法
concat() 方法用于连接两个或多个字符串,该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串
语法:string.concat(string1, string2, ..., stringX)
 

var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);
n输出结果
Hello world! Have a nice day!

4、.map
这里的map不是“地图”的意思,而是指“映射”。也就是原数组被“映射”成对应新数组。
下面这个例子是数值项求平方:

var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function (item) {
    return item * item;
});

在实际使用的时候,我们可以利用map方法方便获得对象数组中的特定属性值们。

var users = [
{name: "张含韵", "email": "[email protected]"},
{name: "江一燕", "email": "[email protected]"},
{name: "李小璐", "email": "[email protected]"}
];
var emails = users.map(function (user) { return user.email; });
console.log(emails.join(", ")); // [email protected], [email protected], [email protected]

5、JS中let和var 的区别

6、parseFloat((NumberObject).toFixed(2))
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
注意: 字符串中只返回第一个数字。
             开头和结尾的空格是允许的。
             如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字
语法:NumberObject.toFixed(num)
参数num:必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

原创文章 115 获赞 561 访问量 105万+

猜你喜欢

转载自blog.csdn.net/hebbely/article/details/102516111