【问题标题】:Getting the last value of an Array and showing it under X axis获取数组的最后一个值并将其显示在 X 轴下
【发布时间】:2011-08-16 22:24:46
【问题描述】:
var NewdateData[] = [1,2,3,4,5,6,7,8,9,1,2,1,23,45,56]

这个NewdateData 是根据用户界面的选择从数据库中动态填充的。

我正在使用这个NewdateData 在 X 轴图表下显示。

我面临的问题是,直到最后才取值,我希望在 X 轴标签下拥有最后一个值。

xaxis: {tickFormatter: function(n)
{
    var k = Math.round(n);
    return NewdateData[k]; 
}

我正在使用flotr

【问题讨论】:

  • 我想要的是,我想要有之前的值,如果它是我想要的最后一个值,那么基本上我假设 if and else insiden return NewdateData[k];

标签: javascript prototypejs flotr


【解决方案1】:

您可以通过以下方式获取数组的最后一个值:

NewdateData[NewdateData.length-1];

【讨论】:

  • 非常感谢,是否可以同时使用 return NewdateData[k];和 NewdateData[NewdateData.length-1];返回??
  • @user663724,如果你想返回多个值,请使用 json 或数组
  • ES7有更好的解决方案吗?
【解决方案2】:

晚会很晚,但为了后代:在 ES2015/ES6 中,您可以使用 Array.prototype.slice。不会改变数组,负数会将数组末尾的元素作为新数组。

所以要获取最后一个元素:

let arr = [1, 2, 3, 4, 5];
let last = arr.slice(-1); // last = 5      

【讨论】:

  • 当你已经对数组的末尾进行切片时,你不需要传递'0'索引。
  • .slice 返回一个数组
【解决方案3】:

我没有足够的积分来评论 Radman 的帖子。但他的解决方案是错误的。

让 arr = [1, 2, 3, 4, 5];让最后 = arr.slice(-1); // 最后一个 = 5

返回 [5],而不是 5。

slice() 方法返回数组一部分的浅拷贝 放入从开始到结束(不包括结束)选择的一个新数组对象。 原数组不会被修改。

正确答案:

let arr = [1, 2, 3, 4, 5];
let last = arr.slice(-1)[0];

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

【讨论】:

    【解决方案4】:

    超级简单! ?,只需使用地图功能即可。

    这是我要从中挑选最后一项的数组:-

    const animals = ['Dodo', 'Tiger', 'Penguin', 'Dodo'];
    

    使用 map 函数遍历数组以使用索引参数并将其与动物数组长度进行比较:-

    animals.map((animal, index) => animals.length -1 === index ? console.log("last item selected :)" + animal) : console.log("i'm not the last item"))
    

    【讨论】:

      【解决方案5】:

      现在我们生活在 ES6 特性中

      var arr = [1,2,3,4,5,6]

      const [a, ...b] = arr.reverse();

      console.log(a)

      【讨论】:

        【解决方案6】:

        一个简单方便的方法是使用Array.prototype.at()

        function returnLast(arr) {
          return arr.at(-1);
        }
        
        const cart = ['apple', 'banana', 'pear'];
        const lastItem = returnLast(cart);
        
        console.log(lastItem)  //pear
        

        或者只是

        const lastItem = cart.at(-1)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-01
          • 1970-01-01
          • 2014-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多