javascript - 在javascript中使用带有拼接功能的apply
问题描述
我需要了解 splice 和 apply 在下面的 js 代码片段中是如何工作的。start 和 rows 是整数值,loadedBatches、virtualCars 是数组。谁能解释执行这两行后 virtualCars 会包含什么?
Array.prototype.splice.apply(virtualCars, [...[start, rows], ...loadedBatches]);
virtualCars = [...virtualCars];
解决方案
in 中的第二个位置参数apply()
将只是一个将提供给参数的参数数组Array.prototype.splice()
。该数组起初看起来令人困惑:[...[start, rows], ...loadedBatches]
,但本质上是[start, rows, ...loadedBatches]
.
查看规格,您将:
- 在提供的索引处启动数组操作
start
rows
将是参数,它确定从索引deleteCount
开始从数组中删除多少项start
...loadedBatches
简单地传播loadedBatches
数组中的所有元素,这些元素将附加到start
索引处的数组中。
换句话说,代码将:
- 转换
virtualCars
成数组 - 删除行数,由 的值确定
rows
,从 指定的索引开始start
loadedBatches
从指定的索引添加所有项目start
推荐阅读
- python - 根据其他列计算数据框列中值的出现次数
- python - 如何使用 boto3 在 AWS/Billing 中获取联系信息和备用联系人?
- visual-studio-code - mochapack --watch 在 VSCode 自动保存时失败,并显示“runnable.enableTimeouts 不是函数”
- swift - 当 tableView 具有顶部插入时,LargeTitle 最初不显示
- python - 将数据从 Python (to_sql) 插入 SQL Server 时出现问题
- java - hbase:META 指向未知区域服务器
- r - 将因子级别设置为在 ggplot2 中不可见
- python - 在生产中从 django 中的乳胶文件生成 pdf 时出错
- javascript - 具有奇怪行为的模态内容
- c# - 识别和单击一组没有 AccessibilityId 或其他唯一标识符的同级元素中的第 n 个元素的最佳方法是什么