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

返回数组的最后一个元素,可以使用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的相关知识。
这仅仅是我通过做任务和看别人的代码所做出的一些小总结,希望大家随意指正。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 2,194评论 0 16
  • concat():对数组进行拼接,具有打散插入的数组的功能,返回新数组,无权修改原数组。如果给这个concat传递...
    十七度的夏天阅读 469评论 0 0
  • 此文章用于归纳Array的所有方法 在JavaScript中,除了Object,用得最多的可能就是数组Array了...
    moonburn阅读 345评论 1 3
  • 数组的定义 数组是按序号排列的一组值,每个值的位置都有编号(从0开始)。数组本质上是一种特殊的对象。它的键名是按(...
    Allin_Lin阅读 676评论 0 0
  • 边际就是新增的新增。 边际成本就是每多生产一个单位的产品所要新增的成本,边际收入就是多卖一个产品所新增得到的收...
    钟树堂阅读 196评论 0 0

友情链接更多精彩内容