【XJB造轮子】独立手写实现JS中数组的部分方法

本文详细介绍了如何手写实现JavaScript数组的unshift, pop和shift方法。通过具体代码示例,解析了每种方法的算法思路及其实现过程。

心态浮躁的我在自己设想的小项目写不下去的时候跑过来没事干重新弄DS玩

看了下《学习JS数据结构与算法》的第二章并写了一下这几个方法:

pop,shift,unshift


1.myUnshift

function myUnshift(addNum,array) {
  for (var i = array.length; i >= 0; i--) {
    array[i] = array[i - 1];
  }
  array[0] = addNum;
  //return array; 此处返回的内容有误,array应该返回的是新的长度
  return array.length;
}

用以实现数组的unshift()方法,插入元素到数组首位;

算法的思路就是:从数组最后一位开始,把数组的前一位的值赋值给当下位置,并一直遍历整个数组;最后再把array[0]用想要被传入的值赋值即可;

2.pop

function myPop(array) {
  return array[array.length - 1];
  array.length--;
  //return array;
}

用以实现数组的pop()方法,删除数组最后一位并使数组长度-1;

 

3.shift

function myShift(array) {
  return array[0];
  for (var i = 0; i < array.length; i++) {
    array[i] = array[i + 1];
  }
  array.pop();
  //return array;
}

用以实现数组shift()方法,将数组首位元素删除;

算法思路:先把当前位置的值用后一位的覆盖,再删除最后一位即可;

### 使用Python实现OCR图像文字识别 #### 方法一:利用百度AI平台的OCR服务 通过调用百度AI开放平台提供的API接口,可以轻松完成图片中的文字提取工作。首先需注册账号并创建应用获取APP_ID、API_KEY以及SECRET_KEY用于身份验证[^1]。 ```python from aip import AipOcr """ 你的 APPID AK SK """ APP_ID = 'your_app_id' API_KEY = 'your_api_key' SECRET_KEY = 'your_secret_key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() image = get_file_content('example.jpg') # 调用通用文字识别, 图片参数为本地图片 result = client.basicGeneral(image); print(result) ``` 此段代码展示了如何初始化AipOcr对象,并读取待处理的图片文件作为二进制数据传递给`basicGeneral()`函数来执行基本的文字检测任务。 #### 方法二:采用Tesseract引擎进行本地化部署 对于不需要联网请求第三方服务的情况,可以选择安装开源软件Tesseract来进行离线操作。这里给出一段简单的例子说明怎样加载一张测试图片并通过指定中文语言包(`chi_sim`)转换成可读字符串[^2]。 ```python import os import pytesseract from PIL import Image output_path = r'test.png' # 替换成实际路径 image = Image.open(output_path) text = pytesseract.image_to_string(image, lang='chi_sim') print(text) ``` 这段程序先导入必要的库,接着定义目标图片的位置,最后运用PIL库打开它再交给pytesseract模块做进一步分析得到最终的结果文本。 #### 方法三:集成Spring Boot与Python脚本协作模式 当项目架构涉及到前后端分离或者微服务体系结构时,可能更倾向于把复杂的计算逻辑放在专门的服务里运行。此时可以在Java构建的应用服务器内部署一个小型HTTP服务器用来触发外部编写的Python脚本来完成特定的任务,如下所示是配置方式之一[^3]: ```yaml ocr: python-path: /usr/bin/python3.8 # Python解释器位置 script-path: ./scripts/ocr_script.py # 自定义脚本地址 upload-dir: uploads/ ``` 以上设置指定了Python环境和自定义脚本的具体存放地点,同时也明确了上传文件夹供客户端提交要处理的数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值