专业编程基础技术教程

网站首页 > 基础教程 正文

JavaScript中数组中可以简化代码的API

ccvgpt 2024-07-17 18:03:52 基础教程 6 ℃

前言

最近在项目中,发现很多冗余的代码,本来是可以通过几行代码就搞定的事情,写了长长的一堆

案例

如下是公司项目里边的一个方法,这里为了简单化,去掉ajax等代码,改为静态代码,知道有这个意思就行了

JavaScript中数组中可以简化代码的API

function delMethod(methodName) {
    let oldMethods = ['getStudentById', 'getAllStudents', 'deleteStudentById', 'updateStudentById']
    let newMethods = []
    for (let method of oldMethods) {
        if (method !== methodName) {
            newMethods.push(method)
        }
    }
    return newMethods;
}

这里其实就是删除数组里边的一个对象,然后返回出去,但是写了很长的代码,实际可以通过使用JS数组的splice方法就可以轻松做到了:

function delMethodV2(methodName) {
    let oldMethods = ['getStudentById', 'getAllStudents', 'deleteStudentById', 'updateStudentById']
    oldMethods.splice(oldMethods.findIndex(e => e === methodName),1)
    return oldMethods
}


API列举

举几个例子

/**
 * every
 * 主要用于检查
 * 如果所有元素都满足条件,则返回 true
 * 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
 */

let ages = [32, 33, 16, 40];
console.log("所有人的年龄都小于50:", ages.every(k => k < 50)) // 所有人的年龄都小于50: true

/**
 * slice
 * 主要用于截取
 *
 */
let company = ['淘宝', '京东', '拼多多', '苏宁', '唯品会', '蘑菇街']
let newCompany = company.slice(0, 3)
console.log(newCompany) // ["淘宝", "京东", "拼多多"]

/**
 * splice
 * 主要用于删除
 */
let g = ['ig', 'rng', 'eng', 'fpx', 'g2']
g.splice(1, 1)
console.log(g) // ["ig", "eng", "fpx", "g2"]
// 搜索 + 删除
g.splice(g.findIndex(e => e === 'ig'), 1)
console.log(g) // ["eng", "fpx", "g2"]

具体可以看代码,里边注释也写得很清楚了


小结

JS里边的api,浩瀚如海,这里抛砖引玉,希望写JS的人,平时可以留意下JS的知识,以起到简化代码的效果,而不是借助古老的for、if、while写出冗长的代码。

Tags:

最近发表
标签列表