var array= ["a", "b", "c", "d"]
var finalArray= array.slice(2,2);
console.log(finalArray);
返回:
finalArray=[]
我希望它返回:
finalArray=["c","d"]
答案 0 :(得分:2)
第一个参数是开始提取的索引,第二个参数是结束提取的索引 之前的索引。因此,要获得最后两个元素(索引2和3),您需要这样做:
Array.prototype.slice()
(command ".undefine" "naviswheel")
中提供了有关/company/513092-1/jk-servicemontage-ab
/company/515413-1/energi-o-inneklimat-i-norrkoping-ab
的更多信息。
答案 1 :(得分:1)
改为void Update () {
clickTimer -= Time.deltaTime;
if(clickTimer <= 0){
if(Input.GetMouseButtonDown(0)) {
//What point was pressed
Vector3 worldPoint = Camera.main.ScreenToWorldPoint( Input.mousePosition );
worldPoint.z = Camera.main.transform.position.z;
//Generate a Ray from the position you clicked in the screen
Ray ray = new Ray( worldPoint, new Vector3( 0, 0, 1 ) );
//Cast the ray to hit elements in your scene
RaycastHit2D hit = Physics2D.GetRayIntersection( ray );
if(hit.collider != null) {
Debug.Log("I hit: "+hit.gameObject.tag);
//And here you can check what GameObject was hit
if(hit.gameObject.tag == "AnyTag"){
//Here you can do whatever you need for AnyTag objects
}
}
}
clickTimer = 2f;
}
}
。
slice()方法将数组的一部分的浅表副本返回到从头到尾选择的新数组对象(不包括结束)。原始数组不会被修改。-MDN
答案 2 :(得分:0)
您需要在Array#slice
方法中提供结束索引作为第二个参数。你得到一个空数组,因为你提供的开始和结束索引都是相同的(中间没有元素)。
var array = ["a", "b", "c", "d"]
var finalArray = array.slice(2, 4);
console.log(finalArray);
仅供参考:如果您想从起始索引获取整个元素,请忽略第二个参数。
var array = ["a", "b", "c", "d"]
var finalArray = array.slice(2);
console.log(finalArray);
答案 3 :(得分:-2)
第二个索引(结尾)必须是你希望结尾从0开始的+1。所以如果你想要元素2和3(总是从0开始),请这样做:
return array.slice(2, 4);