从ESLint代码规范检验反向学习写代码(持续更新)

从ESLint代码规范检验反向学习写代码(持续更新)

1. Javascript

1.1 no-prototype-builtins

错误方式
obj.hasOwnProperty('name')
说明

直接调用是不安全的,当恶意对象为{hasOwnProperty: 1}时,此代码执行会崩溃。
hasOwnProperty

正确方式
Object.prototype.hasOwnProperty.call(obj, 'name')

2. Vue

2.1 'v-model' directives require the attribute value which is valid as LHS.(vue/valid-v-model)

错误方式

在这里插入图片描述

说明

v-model绑定的是真实的数据来源,上面的错误写法,vue会悄悄在响应式对象上生成这样一个奇怪的属性
在这里插入图片描述

正确方式
export default { 
    data () {
    return {
        tmp: false,
        editObj: {
            extendInfo: {
                shape: "circle"
            }
        }
    }
    },
    watch: {
        "editObj.extendInfo.shape": function (value) {
            if (value === "circle") tmp = true;
            else tmp = false;
            // v-model="tmp"
        }
    }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精英反向学习(Elite Opposition-Based Learning, EOBL)是一种基于个体精英信息的优化算法。以下是一个简单的 Matlab 代码示例,用于实现 EOBL 算法: ```matlab function [best_fitness, best_solution] = elite_opposition_based_learning(obj_func, dim, max_iter, pop_size) % obj_func:目标函数 % dim:搜索空间维度 % max_iter:最大迭代次数 % pop_size:种群大小 % 初始化种群 population = rand(pop_size, dim); % 计算适应度值 fitness = obj_func(population); % 初始化精英个体 [best_fitness, best_idx] = min(fitness); best_solution = population(best_idx, :); for iter = 1:max_iter % 计算距离矩阵 dist_matrix = pdist2(population, population); % 计算领域个体 [~, neighborhood_idx] = mink(dist_matrix, 3, 2); neighborhood = population(neighborhood_idx(:, 2:end), :); % 计算精英信息 elite = repmat(best_solution, size(neighborhood, 1), 1); % 计算反向个体 opposite = 2 * elite - neighborhood; % 计算适应度值 fitness = obj_func(opposite); % 更新精英个体 [new_best_fitness, new_best_idx] = min(fitness); if new_best_fitness < best_fitness best_fitness = new_best_fitness; best_solution = opposite(new_best_idx, :); end % 更新种群 replace_idx = fitness > rand(pop_size, 1) * max(fitness); population(replace_idx, :) = opposite(replace_idx, :); end end ``` 该函数接受一个目标函数、搜索空间维度、最大迭代次数和种群大小等参数作为输入,返回找到的最优解及其适应度值。在该函数中,我们首先初始化种群并计算适应度值,然后在每一次迭代中,计算距离矩阵和领域个体,然后根据精英个体和领域个体计算反向个体。接着计算反向个体的适应度值,并更新精英个体和整个种群。最终返回找到的最优解及其适应度值。 需要注意的是,上述代码仅是 EOBL 的一种简单实现,具体实现方式需要根据具体应用场景进行调整。此外,目标函数也需要根据具体问题进行定义。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值