function Slice

 function Slice ( SourceArray : array; Count : Integer ) : array;

描述:Slice函数从源数组SourceArray中第一个元素开始,共Count个元素,创建成一个子数组。

这个子数组只能用于作为一个过程或函数的开放数组参数。

开放数组参数是在编译时不知道数组元素数量的。它允许子程序使用可变大小的数组。

 var   i : Integer;
        Source : array[0..4] of Integer;
 begin   // 创建一个源数组,元素个数与数组为0..4
   for i := 0 to 4 do
      Source[i] := i;
   // 使用Slice函数传递源数组的前3个元素,
   // 作为下面子程序的开放数组参数。
   ShowSlice(Slice(Source, 3));
end;
 // 显示一个未知大小的数组 - 以开放数组参数传入
procedure TForm1.ShowSlice(SubArray : array of Integer);
var   i : Integer;
begin   // 显示这个数组的每个元素
  for i := 0 to Length(SubArray)-1 do
     ShowMessage(‘SubArray[‘+IntToStr(i)+‘] : ‘+          IntToStr(SubArray[i]));
 end;
程序运行结果:

SubArray[0] : 0

SubArray[1] : 1

SubArray[2] : 2
时间: 2024-11-02 20:09:00

function Slice的相关文章

Function.prototype.bind接口浅析

本文大部分内容翻译自 MDN内容, 翻译内容经过自己的理解. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind Function.prototype.bind Syntax fun.bind(thisArg[, arg1[, arg2[, ...]]]) Parameters thisArg The value to be passed as the thi

关于在函数中使用Array.prototype.slice.call而不是直接用slice

arguments是每个函数在运行的时候自动获得的一个近似数组的对象(除了length外没有其他属性),这个arguments对象其实并不是Array,所以没有slice方法. Array.prototype.slice.call( )可以间接对其实现slice的效果,而且返回的结果是真正的Array. slice实现数据浅拷贝,原数据不会被修改. //查看 V8 引擎 array.js 的源码,可以将 slice 的内部实现简化为: function slice(start, end) { v

理解 Array.prototype.slice.apply

1. 首先,我们都理解在js中改变this引用有三种方法,call(), apply(), bind(): 2. bind方法是改变函数内this引用,简单不再描述; 3. 至于 call() 和 apply() 两个方法,区别在于,前者是不定长的入参,后者是一个数组:下边重点说apply方法使用; 原理: 我们知道js中存在一种类数组对象,比如 {0:1,length:1}    或者 DOM 对象,或者 arguments 对象: 数组只是一种特殊的对象,数组的特殊性体现在,它的键默认是按次

Slice 函数

Slice 函数 function Slice(var A: array; Count: Integer): array; Slice函数把数组 A的前面Count个元素作为开放数组返回, 利用它可以方便的使用动态分配的 静态数组而且保持Delphi的数组的使用优点.. 例子: type TPolygon = record NumPoint: 0..MaxInt; Points : array[1..MAX_POINTS] of TPoint; end; procedure DrawPolygo

JavaScript数组方法--slice、sort、splice

数组常用方法应该只剩下最后这哥仨了,他们都是最早的ECMA-262标准的方法,结果写着写着,居然把他们写到最后了. slice:slice() 方法返回一个新的数组对象,这一对象是一个由 begin和 end(不包括end)决定的原数组的浅拷贝.原始数组不会被改变. 先看定义,其实该方法就是对原数组实现浅拷贝.从定义上也可以看出来,他需要两个参数,决定拷贝原数组当中从begin到end的元素. 简单的看一下使用方法(一定要注意:浅拷贝): var animals = ['ant', 'bison

解析 Array.prototype.slice.call 的作用

先来明白 Array.prototype.slice 和 call的作用 Array.prototype.slice slice(begin, end) 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end).原始数组不会被改变. 注意: 包含 begin,但不包含 end,如slice(0, 5) 截取的是数组中第0个索引到4个索引元素,是不包含结尾索引5的. 参考链接: https://developer.mozilla.o

lodash源码学习(3)

“Array” Methods _.pullAt(array, [indexes]) 移除数组中在indexs中对应索引的元素,并返回这些元素 这个方法依赖于basePullAt方法 //_basePullAt.js var baseUnset = require('./_baseUnset'),//_.unset的基本实现,移除对象中对应路径的元素(暂时不分析) isIndex = require('./_isIndex');//是否是一个正确的索引 var arrayProto = Arra

sass2:

ass学习笔记2 今天介绍sass在重用代码时最具威力的两个功能.一个是嵌套(Nesting),一个混合(Mixin). 我们在写CSS通过需要多个后代选择器组合到一起才能定位到目标元素上,而这定义过程,此元素的父元素与其他选择器都有许多相同的部分,嵌套就是把这些相同的部分放到某一层花括号里,然后通过花括号的层层缩进堆砌,找到它们的共性与特性. @charset "utf-8";//必须设置了这个才能编译有中文的注释 nav {     ul {         margin: 0;

底部百叶窗代码

<style> /* ---------------------- 百叶窗banner -------------------------- */ #slider-wrap{width:960px; height:120px;} /*可以修改宽高*/ #slider{position: relative; width:960px; height:120px; background:#FFF;} /*可以修改宽高*/ #slider img{position:absolute; top:0; l