美文网首页
task4知识总结(数组和对象)

task4知识总结(数组和对象)

作者: 张敏super | 来源:发表于2017-08-06 22:17 被阅读0次

返回数组的最后一个元素,可以使用pop()函数

let arr = [1, 3, 4];
console.log(arr.pop());//结果:4

删除数组的第一个元素,使用shift()函数

let arr = [1, 3, 4];
arr.shift();
console.log(arr);//结果:[3, 4]

找出两个数组中的相同元素,可以使用includes函数,返回值为true或者false

let arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
let arr2 = [3, 4, 5, 6];
let arr = [];
for (let item of arr2) {
if (arr1.includes(item)) {
arr.push(item);
}
}
console.log(arr);

将数字转换为字母,可以使用String.fromCharCode(num)函数

filter(checkFunction)函数:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素

function isEven(element) {
return element % 2 === 0;
}
let arr = [1, 2, 3, 4, 5, 6]
let arr1 = arr.filter(isEven);
console.log(arr1);//找出数组中的偶数

删除数组中的重复元素

let arr = [1, 1, 2, 2, 4, 5, 6];
let noRepeat = [];
for (let item of arr) {
if (noRepeat.includes(item)){

    }else {
        noRepeat.push(item);
           }
}
console.log(noRepeat);//运行结果:[1, 2, 4, 5, 6];

注意:这里只是删除了重复的元素,且保留了重复出现的元素,并不是彻底删除重复出现的元素。

双for循环的抽取

当需要两次for循环时,如下:

for () {
for() {
//执行代码;
}
}

此时,第二个for循环可以抽取为函数,提高代码的可读性和重用性,如下:

for () {
if(function) {
//执行代码;
}
}
注意:function中所带的参数个数和类型根据实际情况而定,且该函数的返回值类型必须是Boolean(true or false)。

二维数变一维数组,可以使用flatten()函数展开;也可以用后面说到的reduce函数

var ans = flatten([[1, 2], [3, 4]], false, false, 1);
console.log(ans); // => [3, 4]

注意:该函数在谷歌浏览器中调试时会出现错误,我在开发者网络MDN中也未找到该函数。出现的错误如下:

861347128552826219.jpg
这里是我搜索到的具体的flatten函数的用法:http://web.jobbole.com/86404/

map() 函数创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

let numbers = [1, 5, 10, 15];
let doubles = numbers.map((x) => {
return x * 2;
});//给数组中每个元素乘以2

// doubles is now [2, 10, 20, 30]
// numbers is still [1, 5, 10, 15]

let numbers = [1, 4, 9];
let roots = numbers.map(Math.sqrt);//求数组元素的开方

// roots is now [1, 2, 3]
// numbers is still [1, 4, 9]

求数组中所有元素的累加,使用reduce函数

var total = [0, 1, 2, 3].reduce(function(sum, value) {
return sum + value;
}, 0);
注意:reduce函数也可以实现二维数组变一维数组,如下:
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
function(a, b) {
return a.concat(b);
},[]);

对象的访问:可以采用'.'或者'[]'

let obj = {};
obj = {

               name: 'sara',
               age: 19;
}
obj.name; //'sara'
obj['age'];//19

小结:

这些有关数组和对象的使用都可以在[开发者网络](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript)中找到,大家也可以通过该网站学习JavaScript的相关知识。
这仅仅是我通过做任务和看别人的代码所做出的一些小总结,希望大家随意指正。

相关文章

网友评论

      本文标题:task4知识总结(数组和对象)

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