D3.js的基础部分之数组的处理数组的排序和求值(3)

//定义数组 var numbers = [10,13,16,19,22,25] //获取16左边在数组中的位置 var iLeft = d3.bisectLeft(numbers.sort(d3.ascending),16); console.log(iLeft) //2 // 在iLeft位置处,删除0项,出入66 numbers.splice(iLeft,0,66) //打印新数组 console.log(numbers) [10, 13, 66, 16, 19, 22, 25]

这段代码中,将numbers排序后,在使用bisectLeft()获取了16左边的位置。bisectLeft()所使用的数组必须经过=递增排序。第二个参数用于指定某项的位置,如果此项在数组中存在,则返回此位置的左边。如果此项在数组中不存在,则返回第一个大于此项的值得左边。举个例子 :

//定义数组 var numbers = [10,13,16,19,22,25] //18在数组中不存在,返回介于16和19之间的位置 var iLeft = d3.bisectLeft(numbers.sort(d3.ascending),18) console.log(iLeft) //返回值为3 numbers.splice(iLeft,0,77); //打印新数组 console.log(numbers) //输出[10, 13, 16, 77, 19, 22, 25]

bisect()和bisectRight()是一样的,和bisectLeft()类似,只是获取的是指定项右边的位置。

总结

以上所述是小编给大家介绍的D3.js的基础部分之数组的处理数组的排序和求值(v3版本) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/57553b3b2deeae09c1c1e5000cefb0be.html