lodash源码分析每日一练 - 数组 - join

今日分享:

每一步都是曼妙的风景~

_.join(array, [separator=','])

使用:

_.join(array, [separator=','])

使用示例:

js 复制代码
_.join(['a', 'b', 'c'], '~');
// => 'a~b~c'

尝试手写:

①返回新字符串 ②默认","连接

js 复制代码
    let join_arr = [2,3,4,5];
    function my_join (arr , separator = ',') {
    	if(arr == null) return '';
        let str = arr[0];
        for(let i = 1; i < arr.length; i++){
            str+=separator + arr[i]
        }
        return str;
    }
    console.log(my_join(join_arr))

源码方案:

js 复制代码
var arrayProto = Array.prototype;
var nativeJoin = arrayProto.join;
function join(array, separator=',') {
  return array == null ? '' : nativeJoin.call(array, separator);
}

备注

Array.prototype.join() 就可以快速实现。

相关推荐
hua8722213 分钟前
Golang 构建学习
java·开发语言·学习
2301_8035545213 分钟前
qt信号槽机制以及底层实现原理
开发语言·qt
大傻^14 分钟前
LangChain4j RAG 核心:Document、Embedding 与向量存储抽象
开发语言·人工智能·python·embedding·langchain4j
笨笨马甲14 分钟前
Qt 音视频编解码
开发语言·qt
Halo_tjn19 分钟前
Java 三个修饰符 相关知识点
java·开发语言
2401_8830354625 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
还是大剑师兰特28 分钟前
Vue3 前端专属配置(VSCode settings.json + .prettierrc)
前端·vscode·json
番茄去哪了31 分钟前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
wuqingshun31415936 分钟前
说说进程和线程的区别?
java·开发语言·jvm
前端小趴菜0538 分钟前
vue3项目优化方案
前端·javascript·vue.js