我有一个整数数组

let arr=[7,1,5,3,6,4]

我使用这个数组来按升序对其进行排序,并提取原始数组中第一个最小元素的位置.

const maxProfit = function(prices) {
    let org=prices
    prices.sort((a,b)=>{return a-b})
    console.log(org)
    let ind=org.indexOf(prices[0])
    console.log(ind) 
};

console.log(maxProfit([7,1,5,3,6,4]))

我对org的值很感兴趣,它应该是[7,1,5,3,6,4],但我得到的是[1,3,4,5,6,7],为什么原始数组的赋值在这里不起作用?

推荐答案

数组不是基元类型,不能用=运算符进行克隆. 对于相对较小的数组,您可以像这样简单地克隆它

let arr = [1,2,3]
let newArr = arr.slice()

现在您可以在newArr上执行您想要的任何操作,并且不会影响原始数组

Javascript相关问答推荐

如何在Jest中调用setupFile下列出的文件所需的函数?

使用reaction创建可排序的表不起作用

如何在我的Web应用程序中使用JavaScript显示和隐藏喜欢/不喜欢按钮?

React:如何将表格收件箱正确渲染为表格主体内的组件?

调用SEARCH函数后,程序不会结束

用户单击仅在JavaScript中传递一次以及其他行为

通过使用100%间隔时间来代表我们还剩多少时间来倒计时

使用续集和下拉栏显示模型属性

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

. NET中Unix时间转换为日期时间的奇怪行为

使用i18next在React中不重新加载翻译动态数据的问题

如何在ASP.NET项目中使用Google Chart API JavaScript将二次轴线值格式化为百分比

自定义确认组件未在vue.js的v菜单内打开

第一项杀死下一项,直到数组长度在javascript中等于1

每次重新呈现时调用useState initialValue函数

警告框不显示包含HTML输入字段的总和

使用线性插值法旋转直线以查看鼠标会导致 skip

通过跳过某些元素的对象进行映射

使用Reaction窗体挂钩注册日历组件

如何在独立的Angular 应用程序中添加Lucide-Angel?